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 |