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 (包括 D3dkmddi.h)

另请参阅

DXGKARG_HISTORYBUFFERPRECISION

DXGK_HISTORY_BUFFER

DxgkDdiFormatHistoryBuffer