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


функция CM_Get_Class_Registry_PropertyA (cfgmgr32.h)

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

Синтаксис

CMAPI CONFIGRET CM_Get_Class_Registry_PropertyA(
  [in]            LPGUID   ClassGuid,
  [in]            ULONG    ulProperty,
  [out, optional] PULONG   pulRegDataType,
  [out]           PVOID    Buffer,
  [in, out]       PULONG   pulLength,
  [in]            ULONG    ulFlags,
  [in, optional]  HMACHINE hMachine
);

Параметры

[in] ClassGuid

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

[in] ulProperty

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

CM_CRP_UPPERFILTERS

Представляет список строк REG_MULTI_SZ типа, где каждая строка содержит имя драйвера фильтра верхнего уровня, зарегистрированного для класса .

CM_CRP_LOWERFILTERS

Представляет REG_MULTI_SZ типизированный список строк, где каждая строка содержит имя драйверов фильтров нижнего уровня, зарегистрированных для класса .

CM_CRP_SECURITY

Представляет значение типа REG_BINARY, содержащее структуру переменной длины, относительной SECURITY_DESCRIPTOR .

CM_CRP_SECURITY_SDS

Представляет строку типа REG_SZ, содержащую дескриптор безопасности в формате SDDL .

CM_CRP_DEVTYPE

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

CM_CRP_EXCLUSIVE

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

CM_CRP_CHARACTERISTICS

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

[out, optional] pulRegDataType

Указатель на переменную типа ULONG, которая получает константу REG_Xxx , представляющую тип данных запрошенного свойства. Константы REG_Xxx определены в Winnt.h и описаны в элементе Type структуры KEY_VALUE_BASIC_INFORMATION . Этот параметр является необязательным и может иметь значение NULL.

[out] Buffer

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

[in, out] pulLength

Указатель на переменную типа ULONG, значение которой на входных данных представляет размер буфера, предоставленного buffer, в байтах. При возврате CM_Get_Class_Registry_Property задает для этой переменной размер запрошенного свойства в байтах.

[in] ulFlags

Зарезервировано только для внутреннего использования. Необходимо задать нулевое значение.

[in, optional] hMachine

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

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

Если операция выполнена успешно, CM_Get_Class_Registry_Property возвращает CR_SUCCESS. В противном случае функция возвращает один из других кодов состояния CR_Xxx , определенных в Cfgmgr32.h.

Комментарии

Чтобы определить размер (в байтах) свойства перед попыткой получить свойство, сначала вызовите CM_Get_Class_Registry_Property, указав указательбуфера NULL и значение pulLength, равное нулю. В ответ на такой вызов функция не извлекает свойство , а задает размер запрошенного свойства pulLength и возвращает CR_BUFFER_SMALL. После получения размера свойства вызовите CM_Get_Class_Registry_Property еще раз, указав указатель буфера на буфер для получения данных свойства и указав размер свойства в *pulLength.

Требования

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

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

CM_Set_Class_Registry_Property
KEY_VALUE_BASIC_INFORMATION
SetupDiGetClassRegistryProperty
SetupDiSetClassRegistryProperty