Condividi tramite


Funzione SetupDiEnumDriverInfoA (setupapi.h)

La funzione SetupDiEnumDriverInfo enumera i membri di un elenco di driver.

Sintassi

WINSETUPAPI BOOL SetupDiEnumDriverInfoA(
  [in]           HDEVINFO           DeviceInfoSet,
  [in, optional] PSP_DEVINFO_DATA   DeviceInfoData,
  [in]           DWORD              DriverType,
  [in]           DWORD              MemberIndex,
  [out]          PSP_DRVINFO_DATA_A DriverInfoData
);

Parametri

[in] DeviceInfoSet

Handle per il set di informazioni sul dispositivo che contiene l'elenco di driver da enumerare.

[in, optional] DeviceInfoData

Puntatore a una struttura SP_DEVINFO_DATA che specifica un elemento informazioni sul dispositivo in DeviceInfoSet. Questo parametro è facoltativo e può essere NULL. Se questo parametro viene specificato, SetupDiEnumDriverInfo enumera un elenco di driver per il dispositivo specificato. Se questo parametro è NULL, SetupDiEnumDriverInfo enumera l'elenco di driver di classe globale associato a DeviceInfoSet (questo elenco è di tipo SPDIT_CLASSDRIVER).

[in] DriverType

Tipo di elenco di driver da enumerare, che deve essere uno dei valori seguenti:

SPDIT_CLASSDRIVER

Enumerare un elenco di driver di classe. Questo tipo di elenco di driver deve essere specificato se DeviceInfoData non è specificato.

SPDIT_COMPATDRIVER

Enumerare un elenco di driver compatibili per il dispositivo specificato. Questo tipo di elenco di driver può essere specificato solo se è specificato anche DeviceInfoData .

[in] MemberIndex

Indice in base zero del membro informazioni driver da recuperare.

[out] DriverInfoData

Puntatore a una struttura SP_DRVINFO_DATA inizializzata dal chiamante che riceve informazioni sul driver enumerato. Il chiamante deve impostare DriverInfoData.cbSize a sizeof(SP_DRVINFO_DATA) prima di chiamare SetupDiEnumDriverInfo. Se il membro cbSize non è impostato correttamente, SetupDiEnumDriverInfo restituirà FALSE.

Valore restituito

Se la funzione ha esito positivo, la funzione restituisce TRUE . In caso contrario, restituisce FALSE e l'errore registrato può essere recuperato con una chiamata a GetLastError.

Commenti

Per enumerare i membri del set di informazioni sui driver, un programma di installazione deve prima chiamare SetupDiEnumDriverInfo con il parametro MemberIndex impostato su 0. Deve quindi incrementare MemberIndex e chiamare SetupDiEnumDriverInfo fino a quando non sono presenti altri valori. Quando non sono presenti più valori, la funzione ha esito negativo e una chiamata a GetLastError restituisce ERROR_NO_MORE_ITEMS.

Se non si inizializza correttamente il membro cbSize della struttura SP_DRVINFO_DATA fornita dal puntatore DriverInfoData, la funzione avrà esito negativo e registra l'errore ERROR_INVALID_USER_BUFFER.

Per compilare un elenco di driver associati a un dispositivo specifico o all'elenco di driver di classe globale per un set di informazioni sul dispositivo, usare prima SetupDiBuildDriverInfoList e quindi passare tale elenco a SetupDiEnumDriverInfo.

Nota

L'intestazione setupapi.h definisce SetupDiEnumDriverInfo 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

   
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

SetupDiBuildDriverInfoList