CM_Free_Res_Des_Ex function (cfgmgr32.h)

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

The CM_Free_Res_Des_Ex function removes a resource descriptor from a logical configuration on either a local or a remote machine.


  [out]          PRES_DES prdResDes,
  [in]           RES_DES  rdResDes,
  [in]           ULONG    ulFlags,
  [in, optional] HMACHINE hMachine


[out] prdResDes

Caller-supplied location to receive a handle to the configuration's previous resource descriptor. This parameter can be NULL. For more information, see the following Remarks section.

[in] rdResDes

Caller-supplied handle to the resource descriptor to be removed. This handle must have been previously obtained by calling one of the following functions:







[in] ulFlags

Not used, must be zero.

[in, optional] 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.

Note  Starting with Windows 8, CM_Free_Res_Des_Ex returns CR_CALL_NOT_IMPLEMENTED when used in a Wow64 scenario. To request information about the hardware resources on a local machine it is necessary implement an architecture-native version of the application using the hardware resource APIs. For example: An AMD64 application for AMD64 systems.


Resource descriptors for each configuration are stored in an array. If you specify an address for prdResDes, then CM_Free_Res_Des returns a handle to the resource descriptor that was previous, in the array, to the one removed. If the handle specified by rdResDes represents the resource descriptor located first in the array, then prdResDes receives a handle to the logical configuration.

Note that calling CM_Free_Res_Des_Ex frees the resource descriptor, but not the descriptor's handle. To free the handle, call CM_Free_Res_Des_Handle_Ex.

Callers of this function must have SeLoadDriverPrivilege. (Privileges are described in the Microsoft Windows SDK documentation.)

Functionality to access remote machines has been removed in Windows 8 and Windows Server 2012 and later operating systems thus you cannot access remote machines when running on these versions of Windows.


Requirement Value
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
DLL Cfgmgr32.dll

See also