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 |
ターゲット プラットフォーム の | デスクトップ |
ヘッダー | d3dkmddi.h (D3dkmddi.h を含む) |
IRQL | <=DISPATCH_LEVEL |