Partager via


Fonction SetupDiEnumDriverInfoW (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 du jeu 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 sur l’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 a la valeur 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érez 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 la liste des 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 de 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 retournée

La fonction retourne TRUE si elle réussit. Sinon, il retourne FALSE 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 membre cbSize 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 d’un ensemble d’informations sur l’appareil, utilisez d’abord SetupDiBuildDriverInfoList , puis transmettez cette liste à SetupDiEnumDriverInfo.

Notes

L’en-tête setupapi.h définit SetupDiEnumDriverInfo comme un 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Microsoft Windows 2000 et versions ultérieures de Windows.
Plateforme cible Desktop (Expérience utilisateur)
En-tête setupapi.h (inclure Setupapi.h)
Bibliothèque Setupapi.lib

Voir aussi

SetupDiBuildDriverInfoList