Поделиться через


Функция 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).

ПримечаниеDriverInfoDetailData.Для cbSize не должно быть задано значение параметра DriverInfoDetailDataSize.
 

[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

См. также раздел

SetupDiEnumDriverInfo

SetupDiGetSelectedDriver