Partager via


SetupDiEnumDriverInfoA, fonction (setupapi.h)

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

Syntaxe

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

Paramètres

[in] DeviceInfoSet

Handle du jeu d’informations de périphérique qui contient la liste des pilotes à énumérer.

[in, optional] DeviceInfoData

Pointeur vers une structure de 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 de 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, elle retourne FALSE et l’erreur journalisée peut être récupérée avec un appel à GetLastError.

Notes

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 les appareils, commencez par utiliser SetupDiBuildDriverInfoList , puis transmettez cette liste à SetupDiEnumDriverInfo.

Notes

L’en-tête setupapi.h définit SetupDiEnumDriverInfo en tant qu’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. La combinaison 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.

Spécifications

   
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