CM_Get_Class_Registry_PropertyW 函数 (cfgmgr32.h)

CM_Get_Class_Registry_Property 函数检索设备安装类属性

语法

CMAPI CONFIGRET CM_Get_Class_Registry_PropertyW(
  [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 的指针,该 GUID 表示要为其检索属性 的设备安装类

[in] ulProperty

一个 ULONG 类型的值,用于标识要检索的属性。 此值必须是 Cfgmgr32.h 中定义的以下CM_CRP_Xxx 值之一:

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 类型的值,该值指示 类的设备特征。 有关特征标志的列表,请参阅 IoCreateDevice 例程的 DeviceCharacteristics 参数。

[out, optional] pulRegDataType

指向 ULONG 类型的变量的指针,该变量接收表示所请求属性的数据类型的 REG_Xxx 常量。 REG_Xxx 常量在 Winnt.h 中定义,并在 KEY_VALUE_BASIC_INFORMATION 结构的 Type 成员中介绍。 此参数是可选的,可以设置为 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。 否则,该函数返回 Cfgmgr32.h 中定义的其他 CR_Xxx 状态代码之一。

注解

若要在尝试检索属性之前确定属性的大小(以字节为单位),请首先调用 CM_Get_Class_Registry_Property,提供 NULLBuffer 指针和 零的 pulLength 值。 在响应此类调用时,函数不会检索 属性,而是将 pulLength 设置为所请求属性的大小,并返回CR_BUFFER_SMALL。 获取属性大小后,再次调用 CM_Get_Class_Registry_Property,提供指向缓冲区的 Buffer 指针以接收属性数据,并在 pulLength*提供属性大小。

要求

要求
最低受支持的客户端 在 Microsoft Windows 2000 及更高版本的 Windows 中可用。
目标平台 通用
标头 cfgmgr32.h (包括 Cfgmgr32.h)
Library Cfgmgr32.lib

另请参阅

CM_Set_Class_Registry_Property

KEY_VALUE_BASIC_INFORMATION

SetupDiGetClassRegistryProperty

SetupDiSetClassRegistryProperty