Función SetupDiEnumDeviceInterfaces (setupapi.h)

La función SetupDiEnumDeviceInterfaces enumera las interfaces de dispositivo contenidas en un conjunto de información del dispositivo.

Sintaxis

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

Parámetros

[in] DeviceInfoSet

Puntero a un conjunto de información de dispositivo que contiene las interfaces de dispositivo para las que se va a devolver información. Este identificador normalmente lo devuelve SetupDiGetClassDevs.

[in, optional] DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA que especifica un elemento de información del dispositivo en DeviceInfoSet. Este parámetro es opcional y puede ser NULL. Si se especifica este parámetro, SetupDiEnumDeviceInterfaces restringe la enumeración a las interfaces admitidas por el dispositivo especificado. Si este parámetro es NULL, las llamadas repetidas a SetupDiEnumDeviceInterfaces devuelven información sobre las interfaces asociadas a todos los elementos de información del dispositivo en DeviceInfoSet. Este puntero normalmente lo devuelve SetupDiEnumDeviceInfo.

[in] InterfaceClassGuid

Puntero a un GUID que especifica la clase de interfaz de dispositivo para la interfaz solicitada.

[in] MemberIndex

Índice de base cero en la lista de interfaces del conjunto de información del dispositivo. El llamador debe llamar primero a esta función con MemberIndex establecido en cero para obtener la primera interfaz. A continuación, incremente repetidamente MemberIndex y recupere una interfaz hasta que se produzca un error en esta función y GetLastError devuelva ERROR_NO_MORE_ITEMS.

Si DeviceInfoData especifica un dispositivo determinado, MemberIndex es relativo solo a las interfaces expuestas por ese dispositivo.

[out] DeviceInterfaceData

Puntero a un búfer asignado por el autor de la llamada que contiene, al devolverse correctamente, una estructura de SP_DEVICE_INTERFACE_DATA completada que identifica una interfaz que cumple los parámetros de búsqueda. El llamador debe establecer DeviceInterfaceData. cbSize a sizeof(SP_DEVICE_INTERFACE_DATA) antes de llamar a esta función.

Valor devuelto

SetupDiEnumDeviceInterfaces devuelve TRUE si la función se completó sin error. Si la función se completó con un error, se devuelve FALSE y se puede recuperar el código de error mediante una llamada a GetLastError.

Comentarios

Las llamadas repetidas a esta función devuelven una estructura de SP_DEVICE_INTERFACE_DATA para una interfaz de dispositivo diferente. Se puede llamar a esta función repetidamente para obtener información sobre las interfaces de un conjunto de información de dispositivo asociado a un elemento de información de dispositivo determinado o que están asociados a todos los elementos de información del dispositivo.

DeviceInterfaceData apunta a una estructura que identifica una interfaz de dispositivo solicitada. Para obtener información detallada sobre una interfaz, llame a SetupDiGetDeviceInterfaceDetail. La información detallada incluye el nombre de la interfaz de dispositivo que se puede pasar a una función Win32, como CreateFile (descrita en Microsoft Windows SDK documentación) para obtener un identificador de la interfaz.

Consulta Información general sobre las clases de interfaz de dispositivo para obtener más información.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Microsoft Windows 2000 y versiones posteriores de Windows.
Plataforma de destino Escritorio
Encabezado setupapi.h (incluya Setupapi.h)
Library Setupapi.lib
Archivo DLL Setupapi.dll
Conjunto de API ext-ms-win-setupapi-classinstallers-l1-1-2 (introducido en Windows 10, versión 10.0.14393)

Consulte también

SetupDiEnumDeviceInfo

SetupDiGetClassDevs

SetupDiGetDeviceInterfaceDetail