SetupDiRestartDevices-Funktion (setupapi.h)
Die Funktion SetupDiRestartDevices startet ein angegebenes Gerät neu oder startet bei Bedarf alle Geräte neu, die von derselben Funktion betrieben werden, und Filtertreiber, die das angegebene Gerät betreiben.
Syntax
WINSETUPAPI BOOL SetupDiRestartDevices(
[in] HDEVINFO DeviceInfoSet,
[in, out] PSP_DEVINFO_DATA DeviceInfoData
);
Parameter
[in] DeviceInfoSet
Ein Handle für einen Geräteinformationssatz , der das Geräteinformationselement enthält, das das neu zu startende Gerät darstellt.
[in, out] DeviceInfoData
Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur für den Geräteinformationsmember, der das neu zu startende Gerät darstellt. Dieser Parameter ist auch ein Ausgabeparameter, da SetupDiRestartDevices die Geräteinstallationsparameter für diesen Geräteinformationsmember und den status und den Problemcode des entsprechenden Geräts instance aktualisiert. Weitere Informationen zu diesen Updates finden Sie im folgenden Abschnitt hinweise .
Rückgabewert
Wenn der Vorgang erfolgreich ist, gibt SetupDiRestartDevicesTRUE zurück. Andernfalls gibt die Funktion FALSE zurück, und der protokollierte Fehler kann durch einen Aufruf von GetLastError abgerufen werden.
Hinweise
SetupDiRestartDevices sollte nur von einem Klasseninstallationsprogramm aufgerufen werden, wenn ein Klasseninstallationsprogramm eine DIF_INSTALLDEVICE-Anforderung verarbeitet, und nur in seltenen Situationen, in denen der Klasseninstallationsprogramm Vorgänge ausführen muss, nachdem alle Standardinstallationsvorgänge mit Ausnahme des Startens eines Geräts abgeschlossen wurden. Weitere Informationen zum Aufrufen von SetupDiRestartDevices in diesen Situationen finden Sie unter DIF_INSTALLDEVICE.
SetupDiRestartDevices startet nur das angegebene Gerät neu, wenn der Neustart ohne Auswirkungen auf die Installation anderer Geräte ausgeführt werden kann, die von demselben Funktionstreiber oder Filtertreibern betrieben werden, die das Gerät betreiben. Insbesondere wenn beim Neustart des angegebenen Geräts keine neuen Dateien kopiert oder Dateien geändert werden, die zuvor für das Gerät installiert wurden, startet SetupDiRestartDevices nur das angegebene Gerät neu. Andernfalls startet die Funktion alle Geräte neu, die von derselben Funktion und filtertreibern betrieben werden, die das angegebene Gerät betreiben.
SetupDiRestartDevices aktualisiert die Geräteinstallationsparameter und -status, um das Ergebnis des versuchten Neustartvorgangs widerzuspiegeln. Beispiel:
- Wenn das Gerät gestartet wird, legt SetupDiRestartDevices das Gerät status auf DN_STARTED fest.
- Wenn ein Systemneustart erforderlich ist, um ein Gerät zu starten, legt SetupDiRestartDevices das DI_NEEDREBOOT-Flag im Flags-Member der SP_DEVINSTALL_PARAMETER-Struktur fest, die dem Geräteinformationselement zugeordnet ist, und legt den Problemcode für das Gerät auf CM_PROB_NEED_RESTART fest.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Server 2003 und höheren Versionen von Windows. |
Zielplattform | Desktop |
Kopfzeile | setupapi.h (schließen Sie Setupapi.h ein) |
Bibliothek | Setupapi.lib |
DLL | Setupapi.dll |