Функция 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.Перед вызовом SetupDiGetDriverInfoDetailcbSize необходимо задать значение sizeof(SP_DRVINFO_DETAIL_DATA).
[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 или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Минимальная версия клиента | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | setupapi.h (включая Setupapi.h) |
Библиотека | Setupapi.lib |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по