Функция SetupDiGetClassDevPropertySheetsA (setupapi.h)
Функция SetupDiGetClassDevPropertySheets извлекает дескриптор на листы свойств элемента сведений об устройстве или класса установки устройства набора сведений об устройстве.
Синтаксис
WINSETUPAPI BOOL SetupDiGetClassDevPropertySheetsA(
[in] HDEVINFO DeviceInfoSet,
[in, optional] PSP_DEVINFO_DATA DeviceInfoData,
[in] LPPROPSHEETHEADERA PropertySheetHeader,
[in] DWORD PropertySheetHeaderPageListSize,
[out, optional] PDWORD RequiredSize,
[in] DWORD PropertySheetType
);
Параметры
[in] DeviceInfoSet
Дескриптор набора сведений об устройстве , для которого возвращаются дескриптора листа свойств. Если DeviceInfoData не указывает элемент сведений об устройстве в наборе сведений об устройстве, набор сведений устройства должен иметь связанный класс установки устройства.
[in, optional] DeviceInfoData
Указатель на структуру SP_DEVINFO_DATA, указывающую элемент сведений об устройстве в DeviceInfoSet.
Этот параметр является необязательным и может быть null. Если этот параметр указан, SetupDiGetClassDevPropertySheets извлекает дескриптор листов свойств, связанных с указанным устройством. Если этот параметр null, SetupDiGetClassDevPropertySheets извлекает маркеры свойств, связанные с классом установки устройства, указанным в DeviceInfoSet.
[in] PropertySheetHeader
Указатель на структуру PROPERTYSHEETHEADER. Дополнительные сведения о массиве, предоставленном вызывающим массивом дескрипторов листа свойств, связанного с этой структурой, см. в разделе Примечания.
Дополнительные сведения об этой структуре и листах свойств см. в пакете SDK для Microsoft Windows.
[in] PropertySheetHeaderPageListSize
Максимальное количество дескрипторов, предоставляемых вызывающим массивом дескрипторов листа свойств.
[out, optional] RequiredSize
Указатель на переменную типа DWORD, которая получает количество листов свойств, связанных с указанным элементом сведений об устройстве или классом установки устройства указанного набора сведений об устройстве. Указатель является необязательным и может быть null.
[in] PropertySheetType
Флаг, указывающий один из следующих типов листов свойств.
Тип листа свойств | Значение |
---|---|
DIGCDP_FLAG_ADVANCED | Расширенные листы свойств. |
DIGCDP_FLAG_BASIC | Базовые листы свойств. Поддерживается только в Microsoft Windows 95 и Windows 98. Не используйте в Windows 2000 и более поздних версиях Windows. |
DIGCDP_FLAG_REMOTE_ADVANCED | Расширенные таблицы свойств на удаленном компьютере. |
Возвращаемое значение
Функция возвращает TRUE в случае успешного выполнения. В противном случае функция возвращает FALSE. Вызовите GetLastError, чтобы получить код ошибки.
Замечания
Структура PROPERTYSHEETHEADER содержит два элемента, связанные с массивом, предоставленным вызывающим, который функция использует для возврата дескрипторов листов свойств. Элемент phpages является указателем на вызывающий массив дескрипторов листа свойств, а входное значение элемента nPages указывает количество дескрипторов, которые уже содержатся в массиве дескрипторов. Функция добавляет дескрипторы листа свойств в массив, начиная с элемента массива, индекс массива которого является входным значением nPages. Функция добавляет дескриптор в массив последовательно до тех пор, пока массив не будет заполнен или дескриптор всех запрошенных страниц листов свойств был добавлен в массив. Максимальное количество дескрипторов листа свойств, которое функция может возвращать, равно (PropertySheetHeaderPageListSize - (входное значение nPages)).
Если массив дескриптора достаточно велик, чтобы удерживать дескриптор всех запрошенных страниц листов свойств, функция:
- Добавляет дескриптор в массив дескрипторов.
- Задает nPages общее количество дескрипторов в массиве.
- Задает RequiredSize число возвращаемых дескрипторов.
- Возвращает TRUE.
- Добавляет столько дескрипторов, сколько массив может содержать.
- Задает nPages значение PropertySheetHeaderPageListSize.
- Задает RequiredSize общее количество запрошенных страниц листа свойств. Число дескрипторов, которые не возвращаются функцией, равно (RequiredSize - PropertySheetHeaderPageListSize - (входное значение nPages)).
- Задает код ошибки для ERROR_INSUFFICIENT_BUFFER.
- Возвращает FALSE.
Заметка
Заголовок setupapi.h определяет SetupDiGetClassDevPropertySheets в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Microsoft Windows 2000 и более поздних версиях Windows. |
целевая платформа | Настольный |
заголовка | setupapi.h (include Setupapi.h) |
библиотеки |
Setupapi.lib |