CM_Get_Class_Property_Keys function (cfgmgr32.h)

The CM_Get_Class_Property_Keys function retrieves an array of the device property keys that represent the device properties that are set for a device interface class or device setup class.


CMAPI CONFIGRET CM_Get_Class_Property_Keys(
  [in]            LPCGUID    ClassGUID,
  [out, optional] DEVPROPKEY *PropertyKeyArray,
  [in, out]       PULONG     PropertyKeyCount,
  [in]            ULONG      ulFlags


[in] ClassGUID

Pointer to the GUID that identifies the device interface class or device setup class for which to retrieve the property keys for. For information about specifying the class type, see the ulFlags parameter.

[out, optional] PropertyKeyArray

Pointer to a buffer that receives an array of DEVPROPKEY-typed values, where each value is a device property key that represents a device property that is set for the device class. The pointer is optional and can be NULL.

[in, out] PropertyKeyCount

The size, in DEVPROPKEY-typed units, of the PropertyKeyArray buffer. If PropertyKeyArray is set to NULL, *PropertyKeyCount must be set to zero. As output, if PropertyKeyArray is not large enough to hold all the property key data, CM_Get_Class_Property_Keys returns the count of the keys, in *PropertyKeyCount.

[in] ulFlags

Class property key flags:


ClassGUID specifies a device setup class. Do not combine with CM_CLASS_PROPERTY_INTERFACE.


ClassGUID specifies a device interface class. Do not combine with CM_CLASS_PROPERTY_INSTALLER.

Return value

If the operation succeeds, the function returns CR_SUCCESS. Otherwise, it returns one of the CR_-prefixed error codes defined in Cfgmgr32.h.


CM_Get_Class_Property_Keys is part of the Unified Device Property Model.


Minimum supported client Available in Microsoft Windows Vista and later versions of Windows.
Target Platform Universal
Header cfgmgr32.h (include Cfgmgr32.h)
Library Cfgmgr32.lib; OneCoreUAP.lib on Windows 10
DLL CfgMgr32.dll

See also