次の方法で共有


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

関連項目

DXGK_POWER_COMPONENT_FLAGS

DXGKRNL_INTERFACE