Condividi tramite


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)

Vedere anche

SP_DEVINFO_DATA

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo