DXGKDDI_RESETHWENGINE コールバック関数 (d3dkmddi.h)
Dxgkrnl は、GPU エンジンのリセットが必要な場合に、ディスプレイ ミニポート ドライバー ( KMD) DxgkDdiResetHwEngine 関数を呼び出します。
構文
DXGKDDI_RESETHWENGINE DxgkddiResethwengine;
NTSTATUS DxgkddiResethwengine(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_RESETHWENGINE pResetHwEngine
)
{...}
パラメーター
hAdapter
[入力]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 KMD は以前、DxgkDdiAddDevice 関数の MiniportDeviceContext 出力パラメーターで Dxgkrnl にこのハンドルを提供しました。
pResetHwEngine
[入力/出力]ハードウェア エンジンをリセットするための情報を含む DXGKARG_RESETHWENGINE 構造体へのポインター。
戻り値
操作が成功した場合、DxgkDdiResetHwEngine はSTATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS エラー コードを返す必要があります。
注釈
DxgkDdiResetHwEngine 実装では、DXgkCbInvalidateHwContext コールバックを呼び出して、GPU エンジンのリセット操作の影響を受けたすべての実行中のコンテキストを OS に通知する必要があります。 OS は、これらのコンテキスト デバイスを無効にし (エラーで設定)、今後の送信は実行しません。
DxgkDdiResetHwEngine が呼び出された後、エンジンはまだ再開されたとは見なされないため、無効にされなかったコンテキストの送信は許可されません。 OS では、このエンジンからの割り込みを再度有効にし、その状態をリセット GPU エンジンと同期する必要があります。 その後、OS は割り込みを有効にし、 DxgkDdiResumeHwEngine を呼び出します。これにより、エンジンのリセットの影響を受けなかったすべての実行可能なコンテキストのスケジュールを開始するように GPU エンジンに指示されます。
このコールバック関数の実装を **DRIVER_INITIALIZATION_DATA ** 構造体に 登録します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 バージョン 1703 (WDDM 2.2) |
Header | d3dkmddi.h |