Partager via


SetupDiEnumDriverInfoW, fonction (setupapi.h)

La fonction SetupDiEnumDriverInfo énumère les membres d’une liste de pilotes.

Syntaxe

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

Paramètres

[in] DeviceInfoSet

Handle de l’ensemble d’informations sur l’appareil qui contient la liste des pilotes à énumérer.

[in, optional] DeviceInfoData

Pointeur vers une structure SP_DEVINFO_DATA qui spécifie un élément d’informations d’appareil dans DeviceInfoSet. Ce paramètre est facultatif et peut être NULL. Si ce paramètre est spécifié, SetupDiEnumDriverInfo énumère une liste de pilotes pour l’appareil spécifié. Si ce paramètre est NULL, SetupDiEnumDriverInfo énumère la liste des pilotes de classe globale associée à DeviceInfoSet (cette liste est de type SPDIT_CLASSDRIVER).

[in] DriverType

Type de liste de pilotes à énumérer, qui doit être l’une des valeurs suivantes :

SPDIT_CLASSDRIVER

Énumérer une liste de pilotes de classe. Ce type de liste de pilotes doit être spécifié si DeviceInfoData n’est pas spécifié.

SPDIT_COMPATDRIVER

Énumérez une liste de pilotes compatibles pour l’appareil spécifié. Ce type de liste de pilotes ne peut être spécifié que si DeviceInfoData est également spécifié.

[in] MemberIndex

Index de base zéro du membre d’informations du pilote à récupérer.

[out] DriverInfoData

Pointeur vers une structure SP_DRVINFO_DATA initialisée par l’appelant qui reçoit des informations sur le pilote énuméré. L’appelant doit définir DriverInfoData.cbSize sizeof(SP_DRVINFO_DATA) avant d’appeler setupDiEnumDriverInfo. Si le membre cbSize n’est pas correctement défini, SetupDiEnumDriverInfo retourne FALSE.

Valeur de retour

La fonction retourne TRUE si elle réussit. Sinon, elle retourne FAUX et l’erreur journalisée peut être récupérée avec un appel à GetLastError.

Remarques

Pour énumérer les membres du jeu d’informations de pilote, un programme d’installation doit d’abord appeler SetupDiEnumDriverInfo avec le paramètre MemberIndex défini sur 0. Il doit ensuite incrémenter MemberIndex et appeler SetupDiEnumDriverInfo jusqu’à ce qu’il n’y ait plus de valeurs. Lorsqu’il n’y a plus de valeurs, la fonction échoue et un appel à GetLastError retourne ERROR_NO_MORE_ITEMS.

Si vous n’initialisez pas correctement le cbSize membre de la structure SP_DRVINFO_DATA fournie par le pointeur DriverInfoData, la fonction échoue et journalise l’erreur ERROR_INVALID_USER_BUFFER.

Pour créer une liste de pilotes associés à un appareil spécifique ou à la liste des pilotes de classe globale pour un jeu d’informations d’appareil, utilisez d’abord SetupDiBuildDriverInfoList puis passez cette liste à SetupDiEnumDriverInfo.

Note

L’en-tête setupapi.h définit SetupDiEnumDriverInfo comme alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. Le mélange de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
plateforme cible Bureau
d’en-tête setupapi.h (include Setupapi.h)
bibliothèque Setupapi.lib

Voir aussi

SetupDiBuildDriverInfoList