CM_Get_Class_Property_ExW function (cfgmgr32.h)

[Beginning with Windows 8 and Windows Server 2012, this function has been deprecated. Please use CM_Get_Class_Property instead.]

The CM_Get_Class_Property_ExW function retrieves a device property that is set for a device interface class or device setup class.

Syntax

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
);

Parameters

[in] ClassGUID

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

[in] PropertyKey

Pointer to a DEVPROPKEY structure that represents the device property key of the requested device class property.

[out] PropertyType

Pointer to a DEVPROPTYPE-typed variable that receives the property-data-type identifier of the requested device class property, where the property-data-type identifier is the bitwise OR between a base-data-type identifier and, if the base data type is modified, a property-data-type modifier.

[out] PropertyBuffer

Pointer to a buffer that receives the requested device class property. CM_Get_Class_Property_ExW retrieves the requested property value only if the buffer is large enough to hold all the property value data. The pointer can be NULL.

[in, out] PropertyBufferSize

The size, in bytes, of the PropertyBuffer buffer. If the PropertyBuffer parameter is set to NULL, *PropertyBufferSize must be set to zero. As output, if the buffer is not large enough to hold all the property value data, CM_Get_Class_Property_ExW returns the size of the data, in bytes, in *PropertyBufferSize.

[in] ulFlags

Class property flags:

CM_CLASS_PROPERTY_INSTALLER

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

CM_CLASS_PROPERTY_INTERFACE

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

[in] hMachine

Caller-supplied machine handle, obtained from a previous call to CM_Connect_Machine.

Note  Using this function to access remote machines is not supported beginning with Windows 8 and Windows Server 2012, as this functionality has been removed.
 

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.

Remarks

CM_Get_Class_Property_ExW is part of the Unified Device Property Model.

Requirements

Requirement Value
Minimum supported client Available in Microsoft Windows 10 and later versions of Windows.
Target Platform Desktop
Header cfgmgr32.h (include Cfgmgr32.h)
Library Cfgmgr32.lib

See also

CM_Connect_Machine

SetupDiGetClassProperty

SetupDiGetClassPropertyEx