Funzione SetupDiOpenDeviceInfoW (setupapi.h)
La funzione SetupDiOpenDeviceInfo aggiunge un elemento informazioni sul dispositivo per un'istanza del dispositivo a un set di informazioni sul dispositivo, se non esiste già nel set di informazioni sul dispositivo e recupera informazioni che identificano l'elemento informazioni sul dispositivo per l'istanza del dispositivo nel set di informazioni sul dispositivo.
Sintassi
WINSETUPAPI BOOL SetupDiOpenDeviceInfoW(
[in] HDEVINFO DeviceInfoSet,
[in] PCWSTR DeviceInstanceId,
[in, optional] HWND hwndParent,
[in] DWORD OpenFlags,
[out, optional] PSP_DEVINFO_DATA DeviceInfoData
);
Parametri
[in] DeviceInfoSet
Handle per il set di informazioni sul dispositivo a cui SetupDiOpenDeviceInfo aggiunge un elemento informazioni sul dispositivo, se non esiste già, per l'istanza del dispositivo specificata da DeviceInstanceId.
[in] DeviceInstanceId
Puntatore a una stringa con terminazione NULL che fornisce l'identificatore dell'istanza del dispositivo di un dispositivo, ad esempio "Root*PNP0500\0000"). Se DeviceInstanceId è NULL o fa riferimento a una stringa di lunghezza zero, SetupDiOpenDeviceInfo aggiunge un elemento informazioni sul dispositivo al set di informazioni sul dispositivo fornito, se non esiste già, per il dispositivo radice nell'albero del dispositivo.
[in, optional] hwndParent
Handle della finestra di primo livello da usare per qualsiasi interfaccia utente correlata all'installazione del dispositivo.
[in] OpenFlags
Variabile di tipo DWORD che controlla la modalità di apertura dell'elemento informazioni sul dispositivo. Il valore di questo parametro può essere uno o più dei seguenti:
DIOD_CANCEL_REMOVE
Se questo flag viene specificato e il dispositivo è stato contrassegnato per la rimozione in sospeso, il sistema operativo annulla la rimozione in sospeso.
DIOD_INHERIT_CLASSDRVS
Se questo flag viene specificato, l'elemento di informazioni sul dispositivo risultante eredita l'elenco dei driver di classe, se presente, associato al set di informazioni sul dispositivo. Inoltre, se è presente un driver selezionato per il set di informazioni sul dispositivo, lo stesso driver viene selezionato per il nuovo elemento informazioni dispositivo.
Se l'elemento informazioni sul dispositivo era già presente, il relativo elenco di driver di classe, se presente, viene sostituito con l'elenco ereditato.
[out, optional] DeviceInfoData
Puntatore a una struttura di SP_DEVINFO_DATA fornita dal chiamante che riceve informazioni sull'elemento informazioni sul dispositivo per l'istanza del dispositivo specificata da DeviceInstanceId. Il chiamante deve impostare cbSize su sizeof(SP_DEVINFO_DATA). Questo parametro è facoltativo e può essere NULL.
Valore restituito
SetupDiOpenDeviceInfo restituisce TRUE se ha esito positivo. In caso contrario, la funzione restituisce FALSE e l'errore registrato può essere recuperato con una chiamata a GetLastError.
Osservazioni
Se questa istanza del dispositivo viene aggiunta a un set con una classe associata, la classe del dispositivo deve essere la stessa o la chiamata avrà esito negativo. In questo caso, una chiamata a GetLastError restituisce ERROR_CLASS_MISMATCH.
Se il nuovo elemento informazioni dispositivo viene aperto correttamente, ma il chiamante fornito DeviceInfoData buffer non è valido, questa funzione restituisce FALSE. In questo caso, una chiamata a GetLastError restituisce ERROR_INVALID_USER_BUFFER. Tuttavia, l'elemento informazioni sul dispositivo viene aggiunto come nuovo membro del set comunque.
Nota
L'intestazione setupapi.h definisce SetupDiOpenDeviceInfo come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Disponibile in Microsoft Windows 2000 e versioni successive di Windows. |
piattaforma di destinazione | Desktop |
intestazione |
setupapi.h (include Setupapi.h) |
libreria |
Setupapi.lib |
set di API | ext-ms-win-setupapi-classinstallers-l1-1-1 (introdotto in Windows 8.1) |