Condividi tramite


Funzione SetupDiOpenDeviceInfoA (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 ne esiste già uno 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 SetupDiOpenDeviceInfoA(
  [in]            HDEVINFO         DeviceInfoSet,
  [in]            PCSTR            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 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 ne esiste già uno, 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 informazioni sul dispositivo risultante eredita l'elenco di 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 sul 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.

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 sul 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 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

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

Vedi anche

SP_DEVINFO_DATA

SetupDiCreateDeviceInfo

SetupDiDeleteDeviceInfo

SetupDiEnumDeviceInfo