CM_Get_HW_Prof_FlagsA function (cfgmgr32.h)

[Beginning with Windows 8 and Windows Server 2012, this function has been deprecated and should not be used.]

The CM_Get_HW_Prof_Flags function retrieves the hardware profile-specific configuration flags for a device instance on a local machine.


  [in]  DEVINSTID_A pDeviceID,
  [in]  ULONG       ulHardwareProfile,
  [out] PULONG      pulValue,
  [in]  ULONG       ulFlags


[in] pDeviceID

Pointer to a NULL-terminated string that contains the device instance ID of the device for which to retrieve hardware profile-specific configuration flags.

[in] ulHardwareProfile

A variable of ULONG type that specifies the identifier of the hardware profile for which to retrieve configuration flags. If this parameter is zero, this function retrieves the configuration flags for the current hardware profile.

[out] pulValue

Pointer to a caller-supplied variable of ULONG type that receives zero or a bitwise OR of the following configuration flags that are defined in Regstr.h:


Bitwise OR of the other CSCONFIGFLAG_Xxx flags.


The device instance is disabled in the specified hardware profile.


The hardware profile does not support the specified device instance.


The device cannot be started in the specified hardware profile.

[in] ulFlags

Reserved for internal use. Must be set to zero.

Return value

If the operation succeeds, CM_Get_HW_Prof_Flags returns CR_SUCCESS. Otherwise, the function returns one of the CR_Xxx error codes that are defined in Cfgmgr32.h.


To retrieve a list of hardware profile IDs that are currently defined on a local machine, call SetupDiGetHwProfileList.

To retrieve configuration flags for a device instance on a remote machine, call CM_Get_HW_Prof_Flags_Ex.


The cfgmgr32.h header defines CM_Get_HW_Prof_Flags as an alias which automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.


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

See also