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 du gestionnaire de redémarrage et obtenir un handle de session et une clé.
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 dans la session. Les ressources peuvent être identifiées par un nom de fichier, un nom abrégé de service ou une structure de _ _ processus unique RM .
Le programme d’installation appelle la fonction RmGetList pour obtenir un tableau des structures d' _ _ informations de processus RM qui répertorient toutes les applications et tous les 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 requis pour poursuivre l’installation. Le programme d’installation doit inviter l’utilisateur à entrer 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 les 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 des services spécifiés par les opérations du gestionnaire de redémarrage. La fonction RmGetFilterList retourne une liste des applications et des services à filtrer 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 du gestionnaire de redémarrage.
Pour obtenir un exemple d’extrait de code qui illustre le démarrage et l’utilisation d’une session du gestionnaire de redémarrage à l’aide d’un programme d’installation principal, puis l’Association d’un programme d’installation secondaire à la session existante, consultez utilisation du gestionnaire de redémarrage avec un programme d’installation secondaire.