Función SetupDiEnumDriverInfoA (setupapi.h)

La función SetupDiEnumDriverInfo enumera los miembros de una lista de controladores.

Sintaxis

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

Parámetros

[in] DeviceInfoSet

Identificador del conjunto de información del dispositivo que contiene la lista de controladores que se va a enumerar.

[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, SetupDiEnumDriverInfo enumera una lista de controladores para el dispositivo especificado. Si este parámetro es NULL, SetupDiEnumDriverInfo enumera la lista de controladores de clase global asociada a DeviceInfoSet (esta lista es de tipo SPDIT_CLASSDRIVER).

[in] DriverType

Tipo de lista de controladores que se va a enumerar, que debe ser uno de los siguientes valores:

SPDIT_CLASSDRIVER

Enumerar una lista de controladores de clase. Este tipo de lista de controladores debe especificarse si no se especifica DeviceInfoData .

SPDIT_COMPATDRIVER

Enumerar una lista de controladores compatibles para el dispositivo especificado. Este tipo de lista de controladores solo se puede especificar si también se especifica DeviceInfoData .

[in] MemberIndex

Índice de base cero del miembro de información del controlador que se va a recuperar.

[out] DriverInfoData

Puntero a una estructura de SP_DRVINFO_DATA inicializada por el autor de la llamada que recibe información sobre el controlador enumerado. El autor de la llamada debe establecer DriverInfoData.cbSize a sizeof(SP_DRVINFO_DATA) antes de llamar a SetupDiEnumDriverInfo. Si el miembro cbSize no está configurado correctamente, SetupDiEnumDriverInfo devolverá FALSE.

Valor devuelto

La función devuelve TRUE si se realiza correctamente. De lo contrario, devuelve FALSE y el error registrado se puede recuperar con una llamada a GetLastError.

Comentarios

Para enumerar los miembros del conjunto de información del controlador, un instalador debe llamar primero a SetupDiEnumDriverInfo con el parámetro MemberIndex establecido en 0. A continuación, debe incrementar MemberIndex y llamar a SetupDiEnumDriverInfo hasta que no haya más valores. Cuando no hay más valores, la función produce un error y una llamada a GetLastError devuelve ERROR_NO_MORE_ITEMS.

Si no inicializa correctamente el miembro cbSize de la estructura SP_DRVINFO_DATA proporcionada por el puntero DriverInfoData, se producirá un error en la función y se registrará el error ERROR_INVALID_USER_BUFFER.

Para compilar una lista de controladores asociados a un dispositivo específico o con la lista de controladores de clase global para un conjunto de información del dispositivo, use primero SetupDiBuildDriverInfoList y, a continuación, pase esa lista a SetupDiEnumDriverInfo.

Nota

El encabezado setupapi.h define SetupDiEnumDriverInfo como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutro de codificación con código que no es neutral de codificación puede provocar discrepancias que dan lugar a errores de compilación o en tiempo de ejecución. Para obtener más información, vea Convenciones para prototipos de función.

Requisitos

   
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

Consulte también

SetupDiBuildDriverInfoList