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


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

См. также

SP_DEVINFO_DATA