DXGKARG_FORMATHISTORYBUFFER 結構 (d3dkmddi.h)

包含顯示迷你埠驅動程式以格式化歷程記錄緩衝區的資訊。

語法

typedef struct _DXGKARG_FORMATHISTORYBUFFER {
  DXGK_HISTORY_BUFFER            *pHistoryBuffer;
  UINT32                         HistoryBufferSize;
  PVOID                          pFormattedBuffer;
  UINT32                         FormattedBufferSize;
  UINT32                         NumTimestamps;
  DXGKARG_HISTORYBUFFERPRECISION Precision;
  UINT32                         Offset;
} DXGKARG_FORMATHISTORYBUFFER;

成員

pHistoryBuffer

GPU 所填入之未格式化 DXGK_HISTORY_BUFFER 記錄緩衝區的指標。

HistoryBufferSize

pHistoryBuffer 所指向之緩衝區的大小,以位元組為單位。

pFormattedBuffer

驅動程式用來儲存衍生自所提供未格式化歷程記錄緩衝區之時間戳資訊的非分頁系統記憶體區段指標。

pFormattedBuffer 所指向的緩衝區應該以 Precision 所指定的大量時間戳來管理。 緩衝區不應包含任何已存在於原始歷程記錄緩衝區中的標頭資訊。

FormattedBufferSize

pFormattedBuffer 所指向之緩衝區的大小,以位元組為單位。 驅動程式應該確保它不會寫入超過此緩衝區大小的數據。

NumTimestamps

時間戳的數目。 完成對 DxgkDdiFormatHistoryBuffer 函式的呼叫時,驅動程式應該將此值設定為寫入 pFormattedBuffer 所指向之格式化緩衝區的時間戳數目。

請注意,在驅動程式完成 pFormattedBuffer 所指向的格式化緩衝區之前,將不會知道格式化輸出緩衝區中的時間戳數目。

Precision

驅動程式會填入時間戳精確度的 DXGKARG_HISTORYBUFFERPRECISION 結構,這些時間戳會記錄到 Windows 事件追蹤 (ETW) 設施。

DXGKARG_HISTORYBUFFERPRECISION的值。PrecisionBits 成員不可為零。

Offset

在對 DxgkDdiFormatHistoryBuffer 函式的呼叫輸入時,這個成員的值是應該啟動格式的第一個時間戳位移。 在函式呼叫完成時,如果驅動程式已成功格式化歷程記錄緩衝區中的所有時間戳,則驅動程式應該將值設定為零。

如果不是零,則驅動程式無法在未填滿格式化緩衝區的情況下,格式化歷程記錄緩衝區中的所有時間戳。 在此情況下,值代表應該在下一個函數調用中繼續的位移。

備註

驅動程式應該會從提供的歷程記錄緩衝區標頭取得時間戳專案和可用時間戳的數目。 驅動程式需要計算的任何其他數據都應該儲存在私人數據中。

規格需求

需求
最低支援的用戶端 Windows 8.1,WDDM 1.3 和更新版本
最低支援的伺服器 Windows Server 2012 R2
標頭 d3dkmddi.h (include D3dkmddi.h)

另請參閱

DXGKARG_HISTORYBUFFERPRECISION

DXGK_HISTORY_BUFFER

DxgkDdiFormatHistoryBuffer