Logical Configurations

A logical configuration is a description of the resources required by a device to operate successfully. Any given device can have several possible logical configurations. The Configuration Manager uses the logical configurations of a device to determine how to allocate resources among competing devices. The Configuration Manager provides services that device drivers, enumerators, and other components can use to examine and create logical configurations.

There are these logical configuration services.

Service Description
CONFIGMG_Add_Empty_Log_Conf Creates an empty logical configuration (this configuration has no resource descriptor).
CONFIGMG_Free_Log_Conf Frees a logical configuration and all resource descriptors associated with it.
CONFIGMG_Query_Change_HW_Prof  
CONFIGMG_Get_Alloc_Log_Conf Gets the allocated (or boot) resources in a table format.
CONFIGMG_Get_First_Log_Conf Retrieves a handle of the first logical configuration of the specified type in a device node.
CONFIGMG_Get_Next_Log_Conf Retrieves a handle to the next logical configuration following the given configuration.
CONFIGMG_ISAPNP_To_CM Converts ISAPNP requirements and adds them to a specified device node.
CONFIGMG_Read_Registry_Log_Confs Retrieves logical configurations from the registry.

Device drivers typically use the CONFIGMG_Add_Empty_Log_Conf service to create empty logical configurations in which they can fill their explicit resource requirements. Device drivers and other components use the CONFIGMG_Get_First_Log_Conf and CONFIGMG_Get_Next_Log_Conf services to check all logical configurations associated with a device node. A device driver uses the CONFIGMG_Get_Alloc_Log_Conf service to retrieve its assigned (allocated) resources.