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 関数の MiniportDeviceContext 出力パラメーターの Microsoft DirectX グラフィックス カーネル サブシステムにこのハンドルを以前に提供しました。
[in] pSubmitCommand
ディスプレイ ミニポート ドライバーがハードウェア コマンド実行ユニットに送信する DMA バッファーを記述する DXGKARG_SUBMITCOMMAND構造体への ポインター。
戻り値
DxgkDdiSubmitCommand は、正常に完了すると STATUS_SUCCESS を返します。 ドライバーが代わりにエラー コードを返す場合、オペレーティング システムによってシステムのバグチェックが発生します。 「解説」を参照してください。
Remarks
ページング操作はシステム操作と見なされるため、特定のアプリケーション コンテキストやグラフィックス コンテキストには関連付けられません。 したがって、送信がページング操作の場合、DxgkDdiSubmitCommand 関数は、pSubmitCommand パラメーターが指すDXGKARG_SUBMITCOMMAND構造体の hDevice メンバーで NULL を指定して呼び出されます。
ただし、特定のハードウェアとドライバーのアーキテクチャにデバイスが内部的に必要な場合、ドライバーはアダプターの初期化中にデバイスを内部的に作成し、ページング操作で使用するシステムの既定のデバイスとしてデバイスを内部的に保持する必要があります。
ドライバーは、リング バッファー内のフェンス コマンドにDXGKARG_SUBMITCOMMANDの SubmissionFenceId メンバーで指定された値を書き込むことができます。 フェンス コマンドの詳細については、「 フェンス識別子の指定」を参照してください。
ドライバーからエラー コードが返された場合、DirectX グラフィックス カーネル サブシステムによってシステム バグチェックが発生します。 クラッシュ ダンプ ファイルでは、エラーは、次の 4 つのパラメーターを持つ バグ チェック 0x119メッセージによって示されます。
- 0x2 (エラーの原因を識別します)
- 失敗したドライバー呼び出しから返された NTSTATUS エラー コード
- DXGKARG_SUBMITCOMMAND構造体へのポインター
- 内部スケジューラ データ構造へのポインター
DxgkDdiSubmitCommand は IRQL = DISPATCH_LEVEL で実行されるため、ページ非対応にする必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
対象プラットフォーム | デスクトップ |
Header | d3dkmddi.h |
IRQL | DISPATCH_LEVEL |