DXGKARG_QUERYDIRTYBITDATA 結構 (d3dkmddi.h)

DXGKARG_QUERYDIRTYBITDATADxgkDdiQueryDirtyBitData 的輸入/輸出參數,可用來查詢中途位平面數據。

語法

typedef struct _DXGKARG_QUERYDIRTYBITDATA {
  HANDLE MemoryBasis;
  UINT64 SubrangeIndex;
  UINT64 SubrangeOffset;
  UINT64 SubrangeSize;
  PVOID  Buffer;
  SIZE_T BufferSize;
  UINT   Flags;
} DXGKARG_QUERYDIRTYBITDATA;

成員

MemoryBasis

[in]處理實體記憶體頁面的範圍集合,以查詢修改的狀態。 此句柄先前是由呼叫 DxgkDdiCreateMemoryBasis 所建立。

SubrangeIndex

[in]如果 (看到子範圍) 下方的 SubrangeSize,則此數據代表記憶體基礎中要查詢的範圍。

SubrangeOffset

[in]如果 SubrangeSize 不是 0, 則 SubrangeOffset 代表所選子範圍中的選擇性位移,用來查詢目前中途位平面。 這個值是以位元組為單位的位移,而且一律是位平面頁面大小的倍數。

SubrangeSize

[in]指定要查詢的記憶體基礎範圍。 當 SubrangeSize 為 0 時,驅動程式應該查詢整個記憶體基礎。 指定非零大小時,驅動程式應該查詢記憶體基礎的單一範圍,其中 SubrangeIndexSubrangeOffset 會提供實體間隔的起始索引來查詢。 SubrangeSize 是以位元組為單位,而且一律是位平面頁面大小的倍數。

Buffer

[out]要在其中寫入所產生位平面數據的緩衝區。

BufferSize

[out]位平面緩衝區的大小,以位元組為單位。 大小保證夠大,足以容納指定子範圍內的每一頁一個位,至少 Size/DXGK_DIRTY_BIT_TRACKING_SEGMENT_CAPS::PageSize/8 (四捨五入) 個字節。 如果查詢單一子範圍, BufferSize 代表 SubrangeSize,而如果參考整個記憶體基礎, BufferSize 就是基礎中所有 SizeInBytes 的總和。

Flags

[in]一或多個 DXGKARG_QUERYDIRTYBITDATAFLAGS值, 指定呼叫的其他行為。

備註

如需詳細資訊,請參閱 中途位追蹤

規格需求

需求
最低支援的用戶端 Windows 11 版本 24H2 (WDDM 3.2)
標頭 d3dkmddi.h

另請參閱

DXGKARG_QUERYDIRTYBITDATAFLAGS

DxgkDdiCreateMemoryBasis

DxgkDdiQueryDirtyBitData