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


Функция 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.cbSizesizeof(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 (include Setupapi.h)
библиотеки Setupapi.lib

См. также

SetupDiCreateDeviceInfoListEx

SetupDiGetClassDevsEx

SetupDiGetDeviceInfoListClass