次の方法で共有


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

KMD の DxgkDdiStopDirtyTracking 関数を使用すると、指定したセグメントと指定したアドレス範囲内ダーティビット追跡が無効になります。

構文

DXGKDDI_STOPDIRTYTRACKING DxgkddiStopdirtytracking;

NTSTATUS DxgkddiStopdirtytracking(
  IN_CONST_HANDLE hAdapter,
  IN_CONST_HANDLE hMemoryBasis
)
{...}

パラメーター

hAdapter

[入力]ディスプレイ アダプターに関連付けられているコンテキスト ブロックへのハンドル。 KMD は以前、DxgiDdiAddDevice 関数の MiniportDeviceContext 出力パラメーターで Dxgkrnl にこのハンドルを提供しました。

hMemoryBasis

[入力]ダーティ操作の追跡を停止するメモリベースを処理します。 KMD は、 DxgkDdiCreateMemoryBasis の以前の呼び出しでこのハンドルを作成しました。

戻り値

DxgkDdiStopDirtyTracking は、成功するとSTATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS コードを返します。

注釈

ドライバーは、以前のすべての開始要求が引き続き受け入れられるようにする必要があります。 たとえば、KMD がセグメント全体のダーティ追跡のみを一度にサポートし、ダーティ追跡に対して 2 つの未処理の要求がある場合、1 つの要求のみを停止すると、もう一方の要求ダーティビット追跡を有効にしておく必要があります。

ドライバーは、 DxgkDdiStopDirtyTracking の呼び出しが、対応する DxgkDdiStartDirtyTracking 呼び出しと同じメモリ範囲を指定することを保証できます。 たとえば、Dxgkrnl がセグメント 1 の [0, 1 GB) で追跡ダーティ開始する呼び出しを行った場合、最終的にはセグメント 1 のセグメント [0, 1 GB) の範囲で追跡ダーティ停止する呼び出しが発生します。

詳細については、「 ダーティ ビット追跡」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 11バージョン 24H2 (WDDM 3.2)
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

こちらもご覧ください

DxgkDdiCreateMemoryBasis

DxgkDdiStartDirtyTracking