SetupDiRestartDevices, fonction (setupapi.h)
La fonction SetupDiRestartDevices redémarre un appareil spécifié ou, si nécessaire, redémarre tous les appareils qui sont gérés par les mêmes pilotes de fonction et de filtre qui exploitent l’appareil spécifié.
Syntaxe
WINSETUPAPI BOOL SetupDiRestartDevices(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData
);
Paramètres
[in] DeviceInfoSet
Handle pour un jeu d’informations d’appareil qui contient l’élément d’informations sur l’appareil qui représente l’appareil à redémarrer.
[in, out] DeviceInfoData
Pointeur vers une structure de SP_DEVINFO_DATA pour le membre d’informations de l’appareil qui représente le redémarrage de l’appareil. Ce paramètre est également un paramètre de sortie, car SetupDiRestartDevices met à jour les paramètres d’installation de l’appareil pour ce membre d’informations d’appareil, ainsi que le code status et le code de problème de l’appareil correspondant instance. Pour plus d’informations sur ces mises à jour, consultez la section Remarques suivante.
Valeur retournée
Si l’opération réussit, SetupDiRestartDevices retourne TRUE ; sinon, la fonction retourne FALSE et l’erreur journalisée peut être récupérée par un appel à GetLastError.
Remarques
SetupDiRestartDevices doit être appelé uniquement par un programme d’installation de classe lorsqu’un programme d’installation de classe gère une demande de DIF_INSTALLDEVICE et uniquement dans de rares situations où le programme d’installation de classe doit effectuer des opérations après que toutes les opérations d’installation par défaut, à l’exception du démarrage d’un appareil, ont terminé . Pour plus d’informations sur l’appel de SetupDiRestartDevices dans ces situations, consultez DIF_INSTALLDEVICE.
SetupDiRestartDevices redémarre uniquement l’appareil spécifié si le redémarrage peut être effectué sans affecter l’installation d’autres appareils qui sont gérés par le même pilote de fonction ou les pilotes de filtre qui opèrent l’appareil. Plus précisément, si le redémarrage de l’appareil spécifié ne copie pas les nouveaux fichiers ou ne modifie pas les fichiers précédemment installés pour l’appareil, SetupDiRestartDevices redémarre uniquement l’appareil spécifié. Sinon, la fonction redémarre tous les appareils qui sont gérés par les mêmes pilotes de fonction et de filtre qui exploitent l’appareil spécifié.
SetupDiRestartDevices met à jour les paramètres d’installation de l’appareil et les status de l’appareil pour refléter le résultat de la tentative d’opération de redémarrage. Par exemple :
- Si l’appareil est démarré, SetupDiRestartDevices définit l’appareil status sur DN_STARTED.
- Si un redémarrage du système est nécessaire pour démarrer un appareil, SetupDiRestartDevices définit l’indicateur DI_NEEDREBOOT dans le membre Flags de la structure SP_DEVINSTALL_PARAMETER qui est associée à l’élément d’informations sur l’appareil et définit le code du problème pour l’appareil sur CM_PROB_NEED_RESTART.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Server 2003 et versions ultérieures de Windows. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | setupapi.h (inclure Setupapi.h) |
Bibliothèque | Setupapi.lib |
DLL | Setupapi.dll |