Condividi tramite


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)

Vedi anche

SP_DEVINFO_DATA

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo