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
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 |