Expand Minimize

CM_Get_First_Log_Conf function

The CM_Get_First_Log_Conf function obtains the first logical configuration, of a specified configuration type, associated with a specified device instance on the local machine.

Syntax


CMAPI
CONFIGRET
WINAPI CM_Get_First_Log_Conf(
  _Out_opt_  PLOG_CONF plcLogConf,
  _In_       DEVINST dnDevInst ,
  _In_       ULONG ulFlags
);

Parameters

plcLogConf [out, optional]

Address of a location to receive the handle to a logical configuration, or NULL. See the following Remarks section.

dnDevInst [in]

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

ulFlags [in]

Caller-supplied flag value indicating the type of logical configuration being requested. One of the flags in the following table must be specified.

Configuration Type FlagsDefinitions

BASIC_LOG_CONF

The caller is requesting basic configuration information.

FILTERED_LOG_CONF

The caller is requesting filtered configuration information.

ALLOC_LOG_CONF

The caller is requesting allocated configuration information.

BOOT_LOG_CONF

The caller is requesting boot configuration information.

FORCED_LOG_CONF

The caller is requesting forced configuration information.

OVERRIDE_LOG_CONF

The caller is requesting override configuration information.

 

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

Remarks

Calling CM_Add_Empty_Log_Conf or CM_Free_Log_Conf can invalidate the handle obtained from a previous call to CM_Get_First_Log_Conf. Thus if you want to obtain logical configurations after calling CM_Add_Empty_Log_Conf or CM_Free_Log_Conf, your code must call CM_Get_First_Log_Conf again and start at the first configuration.

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

If CM_Get_First_Log_Conf is called with plcLogConf set to NULL, no handle is returned. This allows you to use the return status to determine if a configuration exists without the need to subsequently free the handle.

For information about using device instance handles that are bound to the local machine, see CM_Get_Child.

Requirements

Version

Available in Microsoft Windows 2000 and later versions of Windows.

Header

Cfgmgr32.h (include Cfgmgr32.h)

Library

Cfgmgr32.lib

See also

CM_Add_Empty_Log_Conf
CM_Free_Log_Conf
CM_Free_Log_Conf_Handle
CM_Get_Child
CM_Get_First_Log_Conf_Ex

 

 

Send comments about this topic to Microsoft

Show:
© 2014 Microsoft