Funzione SetupDiOpenDeviceInfoW (setupapi.h)
La funzione SetupDiOpenDeviceInfo aggiunge un elemento informazioni 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 del 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 le informazioni sul dispositivo impostate su 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 specifica 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 del dispositivo. Il valore di questo parametro può essere uno o più dei seguenti:
DIOD_CANCEL_REMOVE
Se questo flag è 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 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 è già presente, l'elenco dei 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.
Commenti
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 buffer DeviceInfoData fornito dal chiamante non è valido, questa funzione restituisce FALSE. In questo caso, una chiamata a GetLastError restituisce ERROR_INVALID_USER_BUFFER. Tuttavia, l'elemento informazioni 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 preprocessore UNICODE. La combinazione dell'utilizzo dell'alias di codifica neutrale con il codice che non è neutrale dalla codifica può causare errori di corrispondenza che causano errori di compilazione o runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzione.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile in Microsoft Windows 2000 e versioni successive di Windows. |
Piattaforma di destinazione | Desktop |
Intestazione | setupapi.h (includere Setupapi.h) |
Libreria | Setupapi.lib |
Set di API | ext-ms-win-setupapi-classinstallers-l1-1-1 (introdotto in Windows 8.1) |