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


Функция SetupDiGetDeviceInfoListDetailA (setupapi.h)

Функция SetupDiGetDeviceInfoListDetail извлекает сведения, связанные с набором сведений об устройствах, включая GUID класса, дескриптор удаленного компьютера и имя удаленного компьютера.

Синтаксис

WINSETUPAPI BOOL SetupDiGetDeviceInfoListDetailA(
  [in]  HDEVINFO                       DeviceInfoSet,
  [out] PSP_DEVINFO_LIST_DETAIL_DATA_A DeviceInfoSetDetailData
);

Параметры

[in] DeviceInfoSet

Дескриптор набора сведений об устройстве , для которого требуется получить сведения.

[out] DeviceInfoSetDetailData

Указатель на инициализированную вызывающей SP_DEVINFO_LIST_DETAIL_DATA структуру, которая получает сведения о наборе сведений об устройстве. Дополнительные сведения об этой структуре см. в следующем разделе Примечания .

Возвращаемое значение

Функция возвращает ЗНАЧЕНИЕ TRUE , если оно выполнено успешно. В противном случае возвращается значение FALSE , а зарегистрированная ошибка может быть получена путем вызова Метода GetLastError.

Комментарии

Если параметры допустимы, SetupDiGetDeviceInfoListDetail задает значения в структуре DeviceInfoSetDetailData (за исключением поля cbSize ) и возвращает состояние NO_ERROR.

Вызывающий объект SetupDiGetDeviceInfoListDetail должен задать DeviceInfoSetDetailData.cbSize до sizeof(SP_DEVINFO_LIST_DETAIL_DATA) или функция завершится ошибкой, и вызов GetLastError вернет ERROR_INVALID_USER_BUFFER.

Если setupDiGetDeviceInfoListDetail успешно завершается, DeviceInfoSetDetailData.ClassGuid содержит GUID класса, связанный с набором сведений об устройстве, или структурой GUID_NULL.

Если setupDiGetDeviceInfoListDetail успешно завершается и набор сведений об устройстве предназначен для удаленной системы, DeviceInfoSetDetailData.RemoteMachineHandle содержит системный дескриптор ConfigMgr32 для доступа к удаленной системе и DeviceInfoSetDetailData.RemoteMachineName содержит имя удаленной системы. Если для набора сведений об устройстве имеется удаленный дескриптор, его необходимо использовать при вызове функций CM_Xxx_Ex так как дескрипторы DevInst находятся относительно удаленного дескриптора.

Если набор сведений об устройстве предназначен для локального компьютера, deviceInfoSetDetailData.RemoteMachineHandle имеет значение NULL и DeviceInfoSetDetailData.RemoteMachineName — пустая строка.

Примечание

Заголовок setupapi.h определяет SetupDiGetDeviceInfoListDetail в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

Требование Значение
Минимальная версия клиента Доступно в Microsoft Windows 2000 и более поздних версиях Windows.
Целевая платформа Персональный компьютер
Верхняя часть setupapi.h (включая Setupapi.h)
Библиотека Setupapi.lib

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

SetupDiCreateDeviceInfoListEx

SetupDiGetClassDevsEx

SetupDiGetDeviceInfoListClass