次の方法で共有


DXGKCB_COMPLETEFSTATETRANSITION コールバック関数 (d3dkmddi.h)

DXGKCB_COMPLETEFSTATETRANSITION は、電源コンポーネントが F 状態遷移を完了したことをポート ドライバーに通知します。

構文

DXGKCB_COMPLETEFSTATETRANSITION DxgkcbCompletefstatetransition;

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

パラメーター

[in] hAdapter

ディスプレイ アダプターへのハンドル。 ディスプレイ ミニポート ドライバーは、DxgkDdiStartDevice 関数の呼び出しで、DXGKRNL_INTERFACE構造体の DeviceHandle メンバーからハンドルを受け取ります。

[in] ComponentIndex

DXGKARG_QUERYADAPTERINFOで指定された電源コンポーネントインデックス。DxgkDdiQueryAdapterInfo 関数の呼び出し内の pInputData

戻り値

なし

解説

コンポーネントの登録中に、ディスプレイ ミニポート ドライバーは、DXGK_POWER_COMPONENT_FLAGSを設定して DXGKCB_COMPLETEFSTATETRANSITION 関数を呼び出す必要があるすべての電源 コンポーネントを示す必要があります。DriverCompletesFStateTransition メンバーを 1 に設定します。 このメンバーが設定されている場合、ドライバーはこの関数を同期的または非同期的に呼び出す必要があります。 逆に、このメンバーが設定されていない場合、ドライバーはこの関数を呼び出さないでください。

注意

DXGK_POWER_COMPONENT_FLAGS場合。DriverCompletesFStateTransition が設定されていますが、ドライバーはこの関数を呼び出しません。デッドロックが発生する可能性があります。

Windows 電源管理フレームワークでは、この関数が呼び出されるまで、コンポーネントに対して新しい移行要求が送信されません。

通常、ポート ドライバーは、この関数が返されるときに、F 状態遷移が完了することを想定しています。 ディスプレイ ミニポート ドライバーが同期的に切り替えを完了できない場合があります。たとえば、ディスプレイ ミニポート ドライバーが DISPATCH_LEVELで切り替えを完了できない場合や、他の電源コンポーネントをアクティブにする必要がある場合があります。 この関数は、ディスプレイ ミニポート ドライバーが F 状態遷移を非同期的に完了するのに役立ちます。

DXGKCB_XXX 関数は Dxgkrnl によって実装されます。 このコールバック関数を使用するには、DXGKARGCB_ALLOCATEPAGESFORMDLのメンバー設定し、DXGKRNL_INTERFACEを介して DxgkCbCompleteFStateTransition を呼び出します。

要件

要件
サポートされている最小のクライアント Windows 8 (WDDM 1.2)
サポートされている最小のサーバー Windows Server 2012
対象プラットフォーム デスクトップ
Header d3dkmddi.h (D3dkmddi.h を含む)
IRQL <=DISPATCH_LEVEL

こちらもご覧ください

DXGK_POWER_COMPONENT_FLAGS

DXGKRNL_INTERFACE