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.
Die funktion CM_Get_DevNode_Status ruft die status und den Problemcode für ein Gerät instance ab, und die Funktion SetupDiGetDeviceInstallParams ruft die Geräteinstallationsparameter für das Geräteinformationselement ab, das das gerät instance darstellt.

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

Weitere Informationen

CM_Get_DevNode_Status

DIF_INSTALLDEVICE

SP_DEVINFO_DATA

SetupDiGetDeviceInstallParams