DXGKCB_COMPLETEFSTATETRANSITION callback function (d3dkmddi.h)

DXGKCB_COMPLETEFSTATETRANSITION notifies the port driver that a power component has completed the F-state transition.

Syntax

DXGKCB_COMPLETEFSTATETRANSITION DxgkcbCompletefstatetransition;

void DxgkcbCompletefstatetransition(
  [in] IN_CONST_HANDLE hAdapter,
  [in] UINT ComponentIndex
)
{...}

Parameters

[in] hAdapter

A handle to the display adapter. The display miniport driver receives the handle from the DeviceHandle member of the DXGKRNL_INTERFACE structure in a call to its DxgkDdiStartDevice function.

[in] ComponentIndex

The power component index specified by DXGKARG_QUERYADAPTERINFO.pInputData in a call to the DxgkDdiQueryAdapterInfo function.

Return value

None

Remarks

During component registration the display miniport driver should indicate all power components for which it will need to call the DXGKCB_COMPLETEFSTATETRANSITION function by setting the DXGK_POWER_COMPONENT_FLAGS.DriverCompletesFStateTransition member to 1. When this member is set, the driver must call this function either synchronously or asynchronously. Conversely, if this member is not set, the driver should not call this function.

Note

If DXGK_POWER_COMPONENT_FLAGS.DriverCompletesFStateTransition has been set but the driver does not call this function, deadlocks might occur.

The Windows power management framework guarantees that no new transition request will be sent for the component until this function is called.

Usually the port driver expects that when this function returns, the F-state transition is completed. There could be scenarios when the display miniport driver cannot complete the transition synchronously, for example if the display miniport driver cannot complete the transitions at DISPATCH_LEVEL, or it needs to activate other power components. This function helps the display miniport driver to complete the F-state transition asynchronously.

DXGKCB_XXX functions are implemented by Dxgkrnl. To use this callback function, set the members of DXGKARGCB_ALLOCATEPAGESFORMDL and then call DxgkCbCompleteFStateTransition via the DXGKRNL_INTERFACE.

Requirements

   
Minimum supported client Windows 8 (WDDM 1.2)
Minimum supported server Windows Server 2012
Target Platform Desktop
Header d3dkmddi.h (include D3dkmddi.h)
IRQL <=DISPATCH_LEVEL

See also

DXGK_POWER_COMPONENT_FLAGS

DXGKRNL_INTERFACE