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 |