Функция SetupDiGetDriverInfoDetailA (setupapi.h)
Функция установки SetupDiGetDriverInfoDetail извлекает сведения о драйвере для набора сведений об устройстве или определенного элемента сведений об устройстве в наборе сведений об устройстве.
Синтаксис
WINSETUPAPI BOOL SetupDiGetDriverInfoDetailA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] PSP_DRVINFO_DATA_A DriverInfoData,
[in, out] PSP_DRVINFO_DETAIL_DATA_A DriverInfoDetailData,
[in] DWORD DriverInfoDetailDataSize,
[out, optional] PDWORD RequiredSize
);
Параметры
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве , который содержит элемент сведений об драйвере, для которого требуется получить сведения о драйвере.
[in, optional] DeviceInfoData
Указатель на структуру SP_DEVINFO_DATA, указывающую элемент сведений об устройстве, представляющий устройство, для которого требуется получить сведения о драйвере. Этот параметр является необязательным и может быть null. Если этот параметр указан, SetupDiGetDriverInfoDetail получает сведения о драйвере в списке драйверов для указанного устройства. Если этот параметр NULL, SetupDiGetDriverInfoDetail получает сведения о драйвере, который является членом списка драйверов глобального класса для DeviceInfoSet.
[in] DriverInfoData
Указатель на структуру SP_DRVINFO_DATA, указывающую элемент сведений о драйвере, представляющий драйвер, для которого необходимо получить сведения. Если указан DeviceInfoData, драйвер должен быть членом списка драйверов для устройства, указанного DeviceInfoData. В противном случае драйвер должен быть членом списка драйверов глобального класса для DeviceInfoSet.
[in, out] DriverInfoDetailData
Указатель на структуру SP_DRVINFO_DETAIL_DATA, которая получает подробные сведения о указанном драйвере. Если этот параметр не указан, DriverInfoDetailDataSize должно быть равно нулю. Если этот параметр указан, DriverInfoDetailData.cbSize необходимо задать значение sizeof(SP_DRVINFO_DETAIL_DATA) перед вызовом SetupDiGetDriverInfoDetail.
[in] DriverInfoDetailDataSize
Размер в байтах буфера DriverInfoDetailData
[out, optional] RequiredSize
Указатель на переменную, которая получает количество байтов, необходимых для хранения подробных сведений об драйвере. Это значение включает как размер структуры, так и дополнительные байты, необходимые для буфера символов переменной длины в конце, в котором содержится список идентификаторов оборудования и совместимый список идентификаторов. Списки находятся в формате REG_MULTI_SZ. Сведения об аппаратных и совместимых идентификаторах см. в строках идентификации устройств.
Возвращаемое значение
Функция возвращает TRUE, если она выполнена успешно. В противном случае возвращается FALSE и ошибка журнала может быть получена путем вызова GetLastError.
Замечания
Если указанный член сведений об драйвере и предоставленный вызывающим буфером являются допустимыми, эта функция гарантированно заполняет все статические поля в структуре SP_DRVINFO_DETAIL_DATA и столько идентификаторов, сколько возможно в буфере переменной длины в конце, сохраняя REG_MULTI_SZ формат. В этом случае функция возвращает FALSE, а вызов GetLastError возвращает ERROR_INSUFFICIENT_BUFFER. Если задано, RequiredSize содержит общее количество байтов, необходимых для структуры со всеми идентификаторами.
Заметка
Заголовок setupapi.h определяет SetupDiGetDriverInfoDetail как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | setupapi.h (include Setupapi.h) |
библиотеки |
Setupapi.lib |