CM_Add_Empty_Log_Conf_Ex function (cfgmgr32.h)

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

The CM_Add_Empty_Log_Conf_Ex function creates an empty logical configuration, for a specified configuration type and a specified device instance, on either the local or a remote machine.


  [out]          PLOG_CONF plcLogConf,
  [in]           DEVINST   dnDevInst,
  [in]           PRIORITY  Priority,
  [in]           ULONG     ulFlags,
  [in, optional] HMACHINE  hMachine


[out] plcLogConf

Pointer to a location to receive the handle to an empty logical configuration.

[in] dnDevInst

Caller-supplied device instance handle that is bound to the machine handle supplied by hMachine.

[in] Priority

Caller-supplied configuration priority value. For a list of values, see the Priority description for CM_Add_Empty_Log_Conf.

[in] ulFlags

Caller-supplied flags that specify the type of the logical configuration. For a list of flags, see the description ulFlags description for CM_Add_Empty_Log_Conf.

[in, optional] hMachine

Caller-supplied machine handle to which the caller-supplied device instance handle is bound.

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_Add_Empty_Log_Conf_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.


Calling CM_Add_Empty_Log_Conf_Ex can cause the handles returned by CM_Get_First_Log_Conf_Ex and CM_Get_Next_Log_Conf_Ex to become invalid. Thus if you want to obtain logical configurations after calling CM_Add_Empty_Log_Conf_Ex, your code must call CM_Get_First_Log_Conf_Ex again and start at the first configuration.

To remove a logical configuration created by CM_Add_Empty_Log_Conf_Ex, call CM_Free_Log_Conf_Ex.

The handle received in plcLogConf must be explicitly freed by calling CM_Free_Log_Conf_Handle.

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

For information about using device instance handles that are bound to a local or a remote machine, see CM_Get_Child_Ex.

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