Condividi tramite


Funzione DiShowUpdateDevice (newdev.h)

La funzione DiShowUpdateDevice visualizza la procedura guidata Aggiornamento hardware per un dispositivo specificato.

Sintassi

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

Parametri

[in, optional] hwndParent

Handle alla finestra di primo livello utilizzata da DiShowUpdateDevice per visualizzare tutti i componenti dell'interfaccia utente associati all'aggiornamento del dispositivo specificato. Questo parametro è facoltativo e può essere impostato su NULL.

[in] DeviceInfoSet

Handle per il set di informazioni sul dispositivo che contiene un elemento informazioni sul dispositivo che rappresenta il dispositivo per cui visualizzare la procedura guidata aggiornamento hardware.

[in] DeviceInfoData

Puntatore a una struttura SP_DEVINFO_DATA che rappresenta il dispositivo per cui visualizzare la procedura guidata aggiornamento hardware.

[in] Flags

Questo parametro deve essere impostato su zero.

[out, optional] NeedReboot

Puntatore a un valore di tipo BOOL impostato da DiShowUpdateDevice per indicare se è necessario un riavvio del sistema per completare l'aggiornamento del driver. Questo parametro è facoltativo e può essere NULL. Se il parametro viene fornito e è necessario un riavvio del sistema per completare l'aggiornamento del driver, DiShowUpdateDevice imposta il valore su TRUE. In questo caso, il chiamante deve richiedere all'utente di riavviare il sistema. Se questo parametro viene fornito e un riavvio del sistema non è necessario per completare l'installazione, DiShowUpdateDevice imposta il valore su FALSE. Se il parametro è NULL e è necessario un riavvio del sistema per completare l'aggiornamento del driver, DiShowUpdateDevice visualizza una finestra di dialogo di riavvio del sistema. Per altre informazioni su questo parametro, vedere la sezione Osservazioni seguenti.

Valore restituito

DiShowUpdateDevice restituisce TRUE se la procedura guidata aggiornamento hardware ha aggiornato correttamente il driver per il dispositivo specificato. In caso contrario, DiShowUpdateDevice restituisce FALSE e l'errore registrato può essere recuperato eseguendo una chiamata a GetLastError. Alcuni dei valori di errore più comuni che GetLastError potrebbero restituire sono i seguenti:

Codice restituito Descrizione
ERROR_ACCESS_DENIED
Il chiamante non dispone dei privilegi di amministratore. Per impostazione predefinita, Windows richiede che il processo chiamante disponga dei privilegi di amministratore per aggiornare un pacchetto driver.
ERROR_CANCELLED
L'utente ha annullato la procedura guidata aggiornamento hardware.
ERROR_IN_WOW64
L'applicazione chiamante è un'applicazione a 32 bit che tenta di eseguire in un ambiente a 64 bit, che non è consentito. Per altre informazioni, vedere Installazione di dispositivi in sistemi a 64 bit.
ERROR_INVALID_FLAGS
Il valore specificato per Flags non è uguale a zero.

Commenti

DiShowUpdateDevice visualizza la procedura guidata Aggiornamento hardware per l'istanza del dispositivo specificata. Per informazioni su come aggiornare i driver di dispositivo usando la procedura guidata Aggiornamento hardware, vedere Guida e Centro supporto tecnico.

In generale, le applicazioni di installazione devono impostare NeedReboot su NULL in modo che il sistema avvii automaticamente un riavvio del sistema se è necessario completare un aggiornamento hardware. Un'applicazione deve fornire un puntatore NeedReboot solo nei casi seguenti:

  • L'applicazione di installazione deve chiamare DiShowUpdateDevice più volte per completare gli aggiornamenti hardware. In questo caso, l'applicazione deve registrare se un valore TRUENeedReboot viene restituito da una delle chiamate a DiShowUpdateDevice e, in tal caso, chiedere all'utente di riavviare il sistema dopo la chiamata finale a DiShowUpdateDevice .
  • L'applicazione deve eseguire operazioni necessarie, diversamente dalla chiamata a DiShowUpdateDevice, prima che si verifichi un riavvio del sistema. Se è necessario un riavvio del sistema, l'applicazione deve completare le operazioni necessarie e quindi richiedere all'utente di riavviare il sistema.
Per eseguire il rollback di un driver per un dispositivo anziché richiamare la procedura guidata Aggiornamento hardware, chiamare DiRollbackDriver.

Per installare un nuovo driver per un dispositivo anziché richiamare la procedura guidata aggiornamento hardware, chiamare DiInstallDriver o UpdateDriverForPlugAndPlayDevices.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione newdev.h (include Newdev.h)
Libreria Newdev.lib
DLL Newdev.dll

Vedi anche

DiInstallDriver

DiRollbackDriver

UpdateDriverForPlugAndPlayDevices