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.