次の方法で共有


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 の要件は、優先度バンドの次のスケジュールイテレーションで変更を有効にする必要があるということです。

必要条件

要件 価値
ヘッダー d3dkmddi.h