次の方法で共有


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

DxgkDdiSubmitCommand 関数は、ダイレクト メモリ アクセス (DMA) バッファーをハードウェア コマンド実行ユニットに送信します。

構文

DXGKDDI_SUBMITCOMMAND DxgkddiSubmitcommand;

NTSTATUS DxgkddiSubmitcommand(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_SUBMITCOMMAND pSubmitCommand
)
{...}

パラメーター

[in] hAdapter

ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 ディスプレイ ミニポート ドライバーは、DxgkDdiAddDevice 関数の出力パラメーター ミニポートDeviceContext 内の Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを提供しました。

[in] pSubmitCommand

ディスプレイ ミニポート ドライバーがハードウェア コマンド実行ユニットに送信する DMA バッファーを記述する DXGKARG_SUBMITCOMMAND 構造体へのポインター。

戻り値

DxgkDdiSubmitCommand 、正常に完了すると STATUS_SUCCESS が返されます。 ドライバーが代わりにエラー コードを返す場合は、オペレーティング システムによってシステムのバグチェックが発生します。 「解説」を参照してください。

備考

ページング操作はシステム操作と見なされるため、特定のアプリケーション コンテキストやグラフィックス コンテキストには関連付けされません。 したがって、送信がページング操作の場合、DxgkDdiSubmitCommand 関数は、pSubmitCommand パラメーターが指す DXGKARG_SUBMITCOMMAND 構造体の hDevice メンバーで指定された NULL で呼び出されます。

ただし、特定のハードウェアとドライバーのアーキテクチャに内部的にデバイスが必要な場合、ドライバーは、アダプターの初期化中に内部的にデバイスを作成し、ページング操作で使用するシステムの既定のデバイスとして内部的にデバイスを保持する必要があります。

ドライバーは、SubmissionFenceId メンバーのDXGKARG_SUBMITCOMMANDで指定された値をリング バッファー内のフェンス コマンドに書き込むことができます。 フェンス コマンドの詳細については、「フェンス識別子のを提供する」を参照してください。

ドライバーがエラー コードを返す場合、DirectX グラフィックス カーネル サブシステムは、システムのバグチェックが発生します。 クラッシュ ダンプ ファイルでは、次の 4 つのパラメーターを持つ BugCheck 0x119メッセージによってエラーが示されます。

  • 0x2 (エラーの原因を識別します)
  • 失敗したドライバー呼び出しから返された NTSTATUS エラー コード
  • DXGKARG_SUBMITCOMMAND 構造体へのポインター
  • 内部スケジューラ データ構造へのポインター

DxgkDdiSubmitCommand IRQL = DISPATCH_LEVEL で実行されるため、ページ不可にする必要があります。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista
ターゲット プラットフォーム デスクトップ
ヘッダー d3dkmddi.h
IRQL DISPATCH_LEVEL

関連項目

DXGKARG_SUBMITCOMMAND

DxgkDdiAddDevice