Функция SetupDiEnumDriverInfoA (setupapi.h)
Функция SetupDiEnumDriverInfo перечисляет элементы списка драйверов.
Синтаксис
WINSETUPAPI BOOL SetupDiEnumDriverInfoA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] DWORD DriverType,
[in] DWORD MemberIndex,
[out] PSP_DRVINFO_DATA_A DriverInfoData
);
Параметры
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве , который содержит список драйверов для перечисления.
[in, optional] DeviceInfoData
Указатель на структуру SP_DEVINFO_DATA , указывающую элемент сведений об устройстве в DeviceInfoSet. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр указан, SetupDiEnumDriverInfo перечисляет список драйверов для указанного устройства. Если этот параметр имеет значение NULL, SetupDiEnumDriverInfo перечисляет глобальный список драйверов классов, связанный с DeviceInfoSet (этот список имеет тип SPDIT_CLASSDRIVER).
[in] DriverType
Тип перечисляемого списка драйверов, который должен иметь одно из следующих значений:
SPDIT_CLASSDRIVER
Перечисление списка драйверов классов. Этот тип списка драйверов должен быть указан, если параметр DeviceInfoData не указан.
SPDIT_COMPATDRIVER
Перечисление списка совместимых драйверов для указанного устройства. Этот тип списка драйверов можно указать только в том случае, если также указан параметр DeviceInfoData .
[in] MemberIndex
Отсчитываемый от нуля индекс извлекаемого элемента сведений о драйвере.
[out] DriverInfoData
Указатель на инициализированную вызывающей SP_DRVINFO_DATA структуру, которая получает сведения о перечислимом драйвере. Вызывающий объект должен задать DriverInfoData.cbSize до sizeof(SP_DRVINFO_DATA) перед вызовом SetupDiEnumDriverInfo. Если элемент cbSize неправильно задан, SetupDiEnumDriverInfo вернет значение FALSE.
Возвращаемое значение
Функция возвращает ЗНАЧЕНИЕ TRUE , если оно выполнено успешно. В противном случае возвращается значение FALSE , а зарегистрированная ошибка может быть получена с помощью вызова Метода GetLastError.
Комментарии
Чтобы перечислить элементы набора сведений о драйверах, установщик должен сначала вызвать SetupDiEnumDriverInfo с параметром MemberIndex , равным 0. Затем он должен увеличить MemberIndex и вызывать SetupDiEnumDriverInfo , пока не будет больше значений. Если значений больше нет, функция завершается сбоем, и вызов GetLastError возвращает ERROR_NO_MORE_ITEMS.
Если неправильно инициализировать элемент cbSize структуры SP_DRVINFO_DATA, предоставленной указателем DriverInfoData, функция завершится ошибкой и зановит ошибку ERROR_INVALID_USER_BUFFER.
Чтобы создать список драйверов, связанных с определенным устройством или глобальным списком драйверов класса для набора сведений об устройствах, сначала используйте SetupDiBuildDriverInfoList , а затем передайте этот список в SetupDiEnumDriverInfo.
Примечание
Заголовок setupapi.h определяет SetupDiEnumDriverInfo в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | setupapi.h (включая Setupapi.h) |
Библиотека | Setupapi.lib |