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


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

Функция SetupDiGetClassRegistryProperty извлекает свойство для указанного класса настройки устройства из реестра.

Синтаксис

WINSETUPAPI BOOL SetupDiGetClassRegistryPropertyA(
  [in]            const GUID *ClassGuid,
  [in]            DWORD      Property,
  [out, optional] PDWORD     PropertyRegDataType,
  [out]           PBYTE      PropertyBuffer,
  [in]            DWORD      PropertyBufferSize,
  [out, optional] PDWORD     RequiredSize,
  [in, optional]  PCSTR      MachineName,
                  PVOID      Reserved
);

Параметры

[in] ClassGuid

Указатель на GUID, представляющий класс настройки устройства, для которого требуется извлечь свойство.

[in] Property

Значение типа , определяющее извлекаемое свойство. Это должно быть одно из следующих значений:

SPCRP_CHARACTERISTICS

Функция возвращает флаги, указывающие характеристики устройства для класса . Список флагов характеристик см. в разделе Параметр DeviceCharacteristics для IoCreateDevice.

SPCRP_DEVTYPE

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

SPCRP_EXCLUSIVE

Функция возвращает значение DWORD, указывающее, могут ли пользователи получить монопольный доступ к устройствам для этого класса. Возвращаемое значение равно 1, если монопольный доступ разрешен, или ноль в противном случае.

SPCRP_LOWERFILTERS

(Windows Vista и более поздние версии) Функция возвращает REG_MULTI_SZ список имен служб драйверов нижнего фильтра, установленных для класса установки устройства.

SPCRP_SECURITY

Функция возвращает дескриптор безопасности устройства в виде структуры SECURITY_DESCRIPTOR в самособображяющем формате (описано в документации по Microsoft Windows SDK).

SPCRP_SECURITY_SDS

Функция возвращает дескриптор безопасности устройства в виде текстовой строки. Сведения о строках дескриптора безопасности см. в разделе Язык определения дескриптора безопасности (Windows). Сведения о формате строк дескриптора безопасности см. в разделе Язык определения дескрипторов безопасности (Windows).

SPCRP_UPPERFILTERS

(Windows Vista и более поздние версии) Функция возвращает REG_MULTI_SZ список имен служб драйверов верхнего фильтра, установленных для класса установки устройства.

[out, optional] PropertyRegDataType

Указатель на переменную типа DWORD, которая получает тип данных свойства в качестве одного из REG_ типов данных реестра с префиксом. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр имеет значение NULL, setupDiGetClassRegistryProperty не возвращает тип данных.

[out] PropertyBuffer

Указатель на буфер, получающий запрошенное свойство.

[in] PropertyBufferSize

Размер буфера PropertyBuffer в байтах.

[out, optional] RequiredSize

Указатель на переменную типа DWORD, которая получает требуемый размер буфера PropertyBuffer в байтах. Если буфер PropertyBuffer слишком мал, а Параметр RequiredSize не равен NULL, функция присваивает параметру RequiredSize минимальный размер буфера, необходимый для получения запрошенного свойства.

[in, optional] MachineName

Указатель на строку, завершающуюся значением NULL, которая содержит имя удаленной системы, из которой извлекается указанное свойство класса устройства. Этот параметр является необязательным и может иметь значение NULL. Если этот параметр имеет значение NULL, свойство извлекается из локальной системы.

Внимание!

Использование этой функции для доступа к удаленным компьютерам не поддерживается, начиная с Windows 8 и Windows Server 2012, так как эта функция была удалена.

Reserved

Зарезервировано, должно иметь значение NULL.

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

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

Комментарии

Примечание

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

Требования

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

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

SetupDiGetDeviceRegistryProperty

SetupDiSetClassRegistryProperty

SetupDiSetDeviceRegistryProperty