次の方法で共有


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

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

構文

DXGKDDI_STARTDIRTYTRACKING DxgkddiStartdirtytracking;

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

パラメーター

hAdapter

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

hMemoryBasis

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

戻り値

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

注釈

ドライバーは、指定したメモリベースでダーティ追跡が有効になっていることを確認する必要があります。 ただし、未解決のすべての要求が受け入れられている限り、より粗い粒度 (アダプターまたはセグメント全体のダーティ追跡を有効にするなど) で行うことは有効です。

Dxgkrnl では、これらのセグメント内の複数のセグメントまたは範囲内でダーティページ追跡が同時に有効になる場合があります。

ダーティ追跡が有効になっている場合、Dxgkrnl は、ダーティビットプレーンがすべてのゼロ (変更されていないすべてのページ) に初期化されることを想定します。

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

要件

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

こちらもご覧ください

DxgkDdiCreateMemoryBasis

DxgkDdiStopDirtyTracking