Condividi tramite


Funzione SetupDiRestartDevices (setupapi.h)

La funzione SetupDiRestartDevices riavvia un dispositivo specificato o, se necessario, riavvia tutti i dispositivi gestiti dalla stessa funzione e i driver di filtro che operano il dispositivo specificato.

Sintassi

WINSETUPAPI BOOL SetupDiRestartDevices(
  [in]      HDEVINFO         DeviceInfoSet,
  [in, out] PSP_DEVINFO_DATA DeviceInfoData
);

Parametri

[in] DeviceInfoSet

Handle a un set di informazioni sul dispositivo contenente l'elemento informazioni del dispositivo che rappresenta il dispositivo da riavviare.

[in, out] DeviceInfoData

Puntatore a una struttura SP_DEVINFO_DATA per il membro informazioni del dispositivo che rappresenta il dispositivo da riavviare. Questo parametro è anche un parametro di output perché SetupDiRestartDevices aggiorna i parametri di installazione del dispositivo per questo membro delle informazioni del dispositivo e il codice di stato e problema dell'istanza del dispositivo corrispondente. Per altre informazioni su questi aggiornamenti, vedere la sezione Osservazioni seguenti.

Valore restituito

Se l'operazione ha esito positivo, SetupDiRestartDevices restituisce TRUE; in caso contrario, la funzione restituisce FALSE e l'errore registrato può essere recuperato da una chiamata a GetLastError.

Commenti

SetupDiRestartDevices deve essere chiamato solo da un programma di installazione della classe quando un programma di installazione della classe gestisce una richiesta di DIF_INSTALLDEVICE e solo in situazioni rare in cui il programma di installazione della classe deve eseguire operazioni dopo tutte le operazioni di installazione predefinite, ad eccezione dell'avvio di un dispositivo, hanno completato . Per altre informazioni sulla chiamata di SetupDiRestartDevices in queste situazioni, vedere DIF_INSTALLDEVICE.

SetupDiRestartDevices riavvia solo il dispositivo specificato se il riavvio può essere eseguito senza influire sull'installazione di altri dispositivi gestiti dallo stesso driver di funzione o driver di filtro che operano il dispositivo. In particolare, se il riavvio del dispositivo specificato non copia nuovi file o modifica i file installati in precedenza per il dispositivo, SetupDiRestartDevices riavvia solo il dispositivo specificato. In caso contrario, la funzione riavvia tutti i dispositivi gestiti dalla stessa funzione e i driver di filtro che operano il dispositivo specificato.

SetupDiRestartDevices aggiorna i parametri di installazione del dispositivo e lo stato del dispositivo per riflettere il risultato dell'operazione di riavvio tentata. Ad esempio:

  • Se il dispositivo viene avviato, SetupDiRestartDevices imposta lo stato del dispositivo su DN_STARTED.
  • Se è necessario riavviare un sistema per avviare un dispositivo, SetupDiRestartDevices imposta il flag di DI_NEEDREBOOT nel membro Flag della struttura SP_DEVINSTALL_PARAMETER associata all'elemento informazioni del dispositivo e imposta il codice di problema per il dispositivo su CM_PROB_NEED_RESTART.
La funzione CM_Get_DevNode_Status recupera lo stato e il codice del problema per un'istanza del dispositivo e la funzione SetupDiGetDeviceInstallParams recupera i parametri di installazione del dispositivo per l'elemento informazioni del dispositivo che rappresenta l'istanza del dispositivo.

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Server 2003 e versioni successive di Windows.
Piattaforma di destinazione Desktop
Intestazione setupapi.h (includere Setupapi.h)
Libreria Setupapi.lib
DLL Setupapi.dll

Vedi anche

CM_Get_DevNode_Status

DIF_INSTALLDEVICE

SP_DEVINFO_DATA

SetupDiGetDeviceInstallParams