次の方法で共有


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

デバイス コンテキストのスケジュール プロパティを設定または変更します。

構文

DXGKDDI_SETCONTEXTSCHEDULINGPROPERTIES DxgkddiSetcontextschedulingproperties;

NTSTATUS DxgkddiSetcontextschedulingproperties(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_PDXGKARG_SETCONTEXTSCHEDULINGPROPERTIES pSetContextSchedulingProperties
)
{...}

パラメーター

hAdapter

デバイス コンテキストへのハンドル。

pSetContextSchedulingProperties

スケジュール プロパティを含む DXGKARG_SETCONTEXTSCHEDULINGPROPERTIES 構造体へのポインター。

戻り値

操作が成功した場合は、STATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS 値エラー コードを返します。

注釈

このコールバック関数の実装を登録するには、DXGKARG_SETCONTEXTSCHEDULINGPROPERTIESの適切なメンバーを設定し、DxgkDdiSetContextSchedulingProperties を呼び出します。

特定のプロセスに対してアダプターを初めて開くと、OS は DxgkDdiCreateProcess を 呼び出して、カーネル モード ドライバー (KMD) がアダプター追跡データ構造ごとにプロセスごとに適切なを作成できるようにします。 コンテキストが作成されると、KMD は、作成対象のデバイスとアダプターを認識し、このプロセスのアダプター追跡データ構造から KMD プロセス ハンドルを検索できる必要があります。 KMD プロセス内では、スケジューラには、4 つの潜在的な優先度バンド コンテキストすべてに対する追跡データ構造が割り当てられている必要があります。

コンテキストが作成された場合、または Direct3D デバイスの優先度が変更された場合、またはアプリケーションがフォーカスを取得または失うと、OS は GPU スケジューラを呼び出してスケジュール プロパティを設定または変更します。 新しく作成されたコンテキストの場合、OS では、このコンテキストへの最初の送信が許可される前に、コンテキスト スケジューリング プロパティが設定されることを保証します。 この呼び出しは、コンテキスト実行の途中で行うことができます。 GPU スケジューラは、現在のスケジュール期間にどのように影響するかという点で余裕があり、OS の要件は、優先度バンドの次のスケジュールイテレーションで変更を有効にする必要があるということです。

要件

要件
Header d3dkmddi.h