Freigeben über


DiShowUpdateDevice-Funktion (newdev.h)

Die DiShowUpdateDevice-Funktion zeigt den Hardwareupdate-Assistenten für ein angegebenes Gerät an.

Syntax

BOOL DiShowUpdateDevice(
  [in, optional]  HWND             hwndParent,
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PSP_DEVINFO_DATA DeviceInfoData,
  [in]            DWORD            Flags,
  [out, optional] PBOOL            NeedReboot
);

Parameter

[in, optional] hwndParent

Ein Handle für das Fenster auf oberster Ebene, das DiShowUpdateDevice verwendet, um alle Benutzeroberflächenkomponenten anzuzeigen, die dem Aktualisieren des angegebenen Geräts zugeordnet sind. Dieser Parameter ist optional und kann auf NULL festgelegt werden.

[in] DeviceInfoSet

Ein Handle für den Geräteinformationssatz , der ein Geräteinformationselement enthält, das das Gerät darstellt, für das der Hardwareupdate-Assistent angezeigt werden soll.

[in] DeviceInfoData

Ein Zeiger auf eine SP_DEVINFO_DATA Struktur, die das Gerät darstellt, für das der Hardwareupdate-Assistent angezeigt werden soll.

[in] Flags

Dieser Parameter muss auf 0 festgelegt werden.

[out, optional] NeedReboot

Ein Zeiger auf einen Wert vom Typ BOOL, den DiShowUpdateDevice festlegt, um anzugeben, ob ein Systemneustart erforderlich ist, um das Treiberupdate abzuschließen. Dieser Parameter ist optional und kann NULL sein. Wenn der Parameter angegeben wird und ein Neustart des Systems erforderlich ist, um das Treiberupdate abzuschließen, legt DiShowUpdateDevice den Wert auf TRUE fest. In diesem Fall muss der Aufrufer den Benutzer auffordern, das System neu zu starten. Wenn dieser Parameter angegeben wird und kein Systemneustart erforderlich ist, um die Installation abzuschließen, legt DiShowUpdateDevice den Wert auf FALSE fest. Wenn der Parameter NULL ist und ein Systemneustart erforderlich ist, um das Treiberupdate abzuschließen, zeigt DiShowUpdateDevice ein Dialogfeld zum Neustart des Systems an. Weitere Informationen zu diesem Parameter finden Sie im abschnitt Hinweise .

Rückgabewert

DiShowUpdateDevice gibt TRUE zurück, wenn der Hardwareupdate-Assistent den Treiber für das angegebene Gerät erfolgreich aktualisiert hat. Andernfalls gibt DiShowUpdateDeviceFALSE zurück, und der protokollierte Fehler kann durch einen Aufruf von GetLastError abgerufen werden. Einige der häufigeren Fehlerwerte, die GetLastError möglicherweise zurückgibt, sind wie folgt:

Rückgabecode Beschreibung
ERROR_ACCESS_DENIED
Der Aufrufer verfügt nicht über Administratorrechte. Standardmäßig erfordert Windows, dass der aufrufende Prozess über Administratorrechte verfügt, um ein Treiberpaket zu aktualisieren.
ERROR_CANCELLED
Der Benutzer hat den Hardwareupdate-Assistenten abgebrochen.
ERROR_IN_WOW64
Die aufrufende Anwendung ist eine 32-Bit-Anwendung, die versucht, in einer 64-Bit-Umgebung auszuführen, was nicht zulässig ist. Weitere Informationen finden Sie unter Installieren von Geräten auf 64-Bit-Systemen.
ERROR_INVALID_FLAGS
Der für Flags angegebene Wert ist nicht gleich 0.

Hinweise

DiShowUpdateDevice zeigt den Hardwareupdate-Assistenten für das angegebene Gerät instance an. Informationen zum Aktualisieren von Gerätetreibern mithilfe des Hardwareupdate-Assistenten finden Sie unter Hilfe und Supportcenter.

Im Allgemeinen sollten Installationsanwendungen NeedReboot auf NULL festlegen, sodass das System automatisch einen Systemneustart initiiert, wenn ein Neustart erforderlich ist, um ein Hardwareupdate abzuschließen. Eine Anwendung sollte einen NeedReboot-Zeiger nur in den folgenden Fällen bereitstellen:

  • Die Installationsanwendung muss DiShowUpdateDevice mehrmals aufrufen, um Hardwareupdates abzuschließen. In diesem Fall sollte die Anwendung aufzeichnen, ob ein TRUENeedReboot-Wert von einem der Aufrufe von DiShowUpdateDevice zurückgegeben wird. Wenn dies der Fall ist, sollte der Benutzer aufgefordert werden, das System nach dem letzten Aufruf von DiShowUpdateDevice neu zu starten.
  • Die Anwendung muss die erforderlichen Vorgänge ausführen, mit Ausnahme des Aufrufens von DiShowUpdateDevice, bevor ein Systemneustart erfolgen sollte. Wenn ein Systemneustart erforderlich ist, sollte die Anwendung die erforderlichen Vorgänge abschließen und den Benutzer dann auffordern, das System neu zu starten.
Um einen Treiber für ein Gerät zurückzusetzen, anstatt den Hardwareupdate-Assistenten aufzurufen, rufen Sie DiRollbackDriver auf.

Um einen neuen Treiber für ein Gerät zu installieren, anstatt den Hardwareupdate-Assistenten aufzurufen, rufen Sie DiInstallDriver oder UpdateDriverForPlugAndPlayDevices auf.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows Vista und späteren Windows-Versionen.
Zielplattform Desktop
Kopfzeile newdev.h (include Newdev.h)
Bibliothek Newdev.lib
DLL Newdev.dll

Weitere Informationen

DiInstallDriver

DiRollbackDriver

UpdateDriverForPlugAndPlayGeräte