次の方法で共有


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

DxgkrnlDxgkDdiQueryDirtyBitData を呼び出して、カーネル モードディスプレイ ミニポート ドライバー (KMD) からダーティビットプレーン データのコピーを要求します。

構文

DXGKDDI_QUERYDIRTYBITDATA DxgkddiQuerydirtybitdata;

NTSTATUS DxgkddiQuerydirtybitdata(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_QUERYDIRTYBITDATA pArgs
)
{...}

パラメーター

hAdapter

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

pArgs

[入力/出力]クエリの入力情報と出力情報を含む DXGKARG_QUERYDIRTYBITDATA 構造体へのポインター。

戻り値

DxgkDdiQueryDirtyBitData は、クエリが正常に完了した場合にSTATUS_SUCCESSを返します。 それ以外の場合は、適切な NTSTATUS エラー コードを返します。

注釈

関数は、要求されたダーティ情報のメモリベースと潜在的なサブ範囲識別子を提供します。 KMD は、結果のデータを出力バッファーに書き込む必要があります。 DxgkDdiQueryDirtyBitData を使用すると、メモリベースのすべての範囲に対してクエリを実行するか、単一の範囲に対してクエリを実行できます。

メモリがすぐに使用可能になると、 Dxgkrnl は 1 回の呼び出しを使用してこの操作を高速化し、必要なすべてのデータに一度にクエリを実行しようとします。 ただし、メモリの不足状態では、より小さい固定サイズのバッファーを使用した前方の進行状況が必要になる場合があります。これは、DdiStartDirtyTracking の以前の呼び出しから追跡されるメモリベースの小さなサブセットにすぎません。 要求されたダーティビットプレーン範囲は、アクティブに追跡されるダーティ範囲を超えることはありません。

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

要件

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

こちらもご覧ください

DXGKARG_QUERYDIRTYBITDATA