CM_Get_Class_Property_ExW 函数 (cfgmgr32.h)

[从 Windows 8 和 Windows Server 2012 开始,此函数已弃用。 请改用 CM_Get_Class_Property 。]

CM_Get_Class_Property_ExW 函数检索为设备接口类或设备设置类设置的设备属性。

语法

CMAPI CONFIGRET CM_Get_Class_Property_ExW(
  [in]      LPCGUID          ClassGUID,
  [in]      const DEVPROPKEY *PropertyKey,
  [out]     DEVPROPTYPE      *PropertyType,
  [out]     PBYTE            PropertyBuffer,
  [in, out] PULONG           PropertyBufferSize,
  [in]      ULONG            ulFlags,
  [in]      HMACHINE         hMachine
);

参数

[in] ClassGUID

指向 GUID 的指针,该 GUID 标识要检索为其设置的设备属性的设备 接口 类或设备 设置 类。 有关指定类类型的信息,请参阅 ulFlags 参数。

[in] PropertyKey

指向 DEVPROPKEY 结构的指针,该结构表示所请求设备类属性的设备属性键。

[out] PropertyType

指向 DEVPROPTYPE 类型变量的指针,该变量接收请求的设备类属性的 property-data-type 标识符,其中 property-data-type 标识符是基数据类型标识符与属性数据类型修饰符之间的按位 OR。

[out] PropertyBuffer

指向接收请求的设备类属性的缓冲区的指针。 当缓冲区大到足以保存所有属性值数据时,CM_Get_Class_Property_ExW才检索请求的属性值。 指针可以为 NULL。

[in, out] PropertyBufferSize

PropertyBuffer 缓冲区的大小(以字节为单位)。 如果 PropertyBuffer 参数设置为 NULL, 则必须将 *PropertyBufferSize 设置为零。 作为输出,如果缓冲区不够大,无法保存所有属性值数据, CM_Get_Class_Property_ExW 将返回 *PropertyBufferSize 中的数据大小(以字节为单位)。

[in] ulFlags

类属性标志:

CM_CLASS_PROPERTY_INSTALLER

ClassGUID 指定设备安装类。 请勿与CM_CLASS_PROPERTY_INTERFACE结合使用。

CM_CLASS_PROPERTY_INTERFACE

ClassGUID 指定设备接口类。 请勿与CM_CLASS_PROPERTY_INSTALLER结合使用。

[in] hMachine

调用方提供的计算机句柄,从上一次调用 CM_Connect_Machine获取。

注意 从 Windows 8 和 Windows Server 2012 开始,不支持使用此函数访问远程计算机,因为此功能已被删除。
 

返回值

如果操作成功,函数将返回CR_SUCCESS。 否则,它将返回 Cfgmgr32.h 中定义的CR_前缀错误代码之一。

备注

CM_Get_Class_Property_ExW统一设备属性模型的一部分。

要求

   
最低受支持的客户端 适用于 Microsoft Windows 10 及更高版本的 Windows。
目标平台 桌面
标头 cfgmgr32.h (包括 Cfgmgr32.h)
Library Cfgmgr32.lib

另请参阅

CM_Connect_Machine

SetupDiGetClassProperty

SetupDiGetClassPropertyEx