Fonction SetupDiEnumDeviceInterfaces (setupapi.h)

La fonction SetupDiEnumDeviceInterfaces énumère les interfaces d’appareil contenues dans un ensemble d’informations d’appareil.

Syntaxe

WINSETUPAPI BOOL SetupDiEnumDeviceInterfaces(
  [in]           HDEVINFO                  DeviceInfoSet,
  [in, optional] PSP_DEVINFO_DATA          DeviceInfoData,
  [in]           const GUID                *InterfaceClassGuid,
  [in]           DWORD                     MemberIndex,
  [out]          PSP_DEVICE_INTERFACE_DATA DeviceInterfaceData
);

Paramètres

[in] DeviceInfoSet

Pointeur vers un jeu d’informations sur l’appareil qui contient les interfaces d’appareil pour lesquelles retourner des informations. Ce handle est généralement retourné par SetupDiGetClassDevs.

[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é, SetupDiEnumDeviceInterfaces limite l’énumération aux interfaces prises en charge par l’appareil spécifié. Si ce paramètre a la valeur NULL, les appels répétés à SetupDiEnumDeviceInterfaces retournent des informations sur les interfaces associées à tous les éléments d’informations sur l’appareil dans DeviceInfoSet. Ce pointeur est généralement retourné par SetupDiEnumDeviceInfo.

[in] InterfaceClassGuid

Pointeur vers un GUID qui spécifie la classe d’interface d’appareil pour l’interface demandée.

[in] MemberIndex

Index de base zéro dans la liste des interfaces dans le jeu d’informations de l’appareil. L’appelant doit d’abord appeler cette fonction avec MemberIndex défini sur zéro pour obtenir la première interface. Ensuite, incrémentez à plusieurs reprises MemberIndex et récupérez une interface jusqu’à ce que cette fonction échoue et que GetLastError retourne ERROR_NO_MORE_ITEMS.

Si DeviceInfoData spécifie un appareil particulier, memberIndex est relatif uniquement aux interfaces exposées par cet appareil.

[out] DeviceInterfaceData

Pointeur vers une mémoire tampon allouée à l’appelant qui contient, en cas de retour réussi, une structure SP_DEVICE_INTERFACE_DATA terminée qui identifie une interface qui répond aux paramètres de recherche. L’appelant doit définir DeviceInterfaceData. cbSize à sizeof(SP_DEVICE_INTERFACE_DATA) avant d’appeler cette fonction.

Valeur retournée

SetupDiEnumDeviceInterfaces retourne TRUE si la fonction s’est terminée sans erreur. Si la fonction s’est terminée avec une erreur, FALSE est retourné et le code d’erreur de l’échec peut être récupéré en appelant GetLastError.

Remarques

Les appels répétés à cette fonction retournent une structure SP_DEVICE_INTERFACE_DATA pour une autre interface d’appareil. Cette fonction peut être appelée à plusieurs reprises pour obtenir des informations sur les interfaces d’un jeu d’informations d’appareil qui sont associées à un élément d’informations d’appareil particulier ou qui sont associées à tous les éléments d’informations sur l’appareil.

DeviceInterfaceData pointe vers une structure qui identifie une interface d’appareil demandée. Pour obtenir des informations détaillées sur une interface, appelez SetupDiGetDeviceInterfaceDetail. Les informations détaillées incluent le nom de l’interface de l’appareil qui peut être transmise à une fonction Win32 telle que CreateFile (décrit dans Microsoft Windows SDK documentation) pour obtenir un handle à l’interface.

Pour plus d’informations, consultez Vue d’ensemble des classes d’interface d’appareil.

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
DLL Setupapi.dll
Ensemble d’API ext-ms-win-setupapi-classinstallers-l1-1-2 (introduit dans Windows 10, version 10.0.14393)

Voir aussi

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail