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 |