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