Utilisation du Gestionnaire de redémarrage avec un programme d’installation principal
La procédure suivante décrit comment utiliser le Gestionnaire de redémarrage pour arrêter et redémarrer des applications et des services. Lorsque vous utilisez le Gestionnaire de redémarrage avec un seul programme d’installation, ce programme d’installation est également le programme d’installation principal qui contrôle l’interface utilisateur.
Pour utiliser le Gestionnaire de redémarrage avec un programme d’installation principal
Le programme d’installation appelle la fonction RmStartSession pour démarrer la session Restart Manager et obtenir un handle et une clé de session.
Le programme d’installation appelle la fonction RmRegisterResources pour inscrire des ressources. Le Gestionnaire de redémarrage peut uniquement utiliser des ressources inscrites pour déterminer les applications et les services qui doivent être arrêtés et redémarrés. Toutes les ressources qui peuvent être affectées par l’installation doivent être inscrites auprès de la session. Les ressources peuvent être identifiées par un nom de fichier, un nom court de service ou une structure RM_UNIQUE_PROCESS .
Le programme d’installation appelle la fonction RmGetList pour obtenir un tableau de structures RM_PROCESS_INFO qui répertorie toutes les applications et services qui doivent être arrêtés et redémarrés.
Si la valeur du paramètre lpdwRebootReason retourné par la fonction RmGetList est différente de zéro, le Gestionnaire de redémarrage ne peut pas libérer une ressource inscrite par l’arrêt d’une application ou d’un service. Dans ce cas, un arrêt et un redémarrage du système sont nécessaires pour poursuivre l’installation. Le programme d’installation doit inviter l’utilisateur à effectuer une action, arrêter des programmes ou des services, ou planifier un arrêt et un redémarrage du système.
Si la valeur du paramètre lpdwRebootReason retourné par la fonction RmGetList est égale à zéro, le programme d’installation doit appeler la fonction RmShutdown . Cela arrête les services et applications qui utilisent des ressources inscrites. Le programme d’installation doit ensuite effectuer les modifications système requises pour terminer l’installation. Enfin, le programme d’installation doit appeler la fonction RmRestart afin que le Gestionnaire de redémarrage puisse redémarrer les applications qu’il a arrêtées et qui ont été inscrites pour un redémarrage.
Le programme d’installation peut utiliser la fonction RmAddFilter pour empêcher l’arrêt ou le redémarrage des applications et services spécifiés par les opérations du Gestionnaire de redémarrage. La fonction RmGetFilterList retourne une liste des applications et services à filtrer à partir de l’arrêt et du redémarrage. La fonction RmRemoveFilter supprime un filtre.
Le programme d’installation appelle la fonction RmEndSession pour fermer la session Restart Manager.
Pour obtenir un exemple d’extrait de code montrant le démarrage et l’utilisation d’une session Restart Manager à l’aide d’un programme d’installation principal, puis la jonction d’un programme d’installation secondaire à la session existante, consultez Utilisation du Gestionnaire de redémarrage avec un programme d’installation secondaire.