DXGK_HISTORY_BUFFER_HEADER structure (d3dkmddi.h)

Specifies how data is stored in a DXGK_HISTORY_BUFFER history buffer.


  UINT32 RenderCbSequence;
  UINT32 NumTimestamps;
  UINT32 PrivateDataSize;
  UINT32 Reserved;



The value of the D3DDDICB_RENDERFLAGS.Value member that is to be used in a call to the pfnRenderCb function.

The display miniport driver should compute this value and enter it into DXGK_HISTORY_BUFFER_HEADER before calling pfnRenderCb.


The number of time stamps that will be in the history buffer when the DMA buffer completes its execution.

The driver should include all time stamps that are logged, even if the buffer must be formatted before being logged to the Event Tracing for Windows (ETW) facility.


The size, in bytes, of optional private data that the driver stores. The driver can use this data for any purpose.

If zero, the driver doesn't need to store private data in the history buffer.

Note  This value should be a multiple of 8 bytes to ensure that time stamp data is aligned to a 64-bit boundary.
If the history buffer doesn't need to be formatted when the DMA buffer completes its execution, then when the DirectX graphics kernel subsystem writes logs to ETW, it uses PrivateDataSize as a direct offset from the header to reference the time stamps.


Reserved for system use and must be set to zero.


Only the time stamp portion of the history buffer, along with the number of time stamps, will be logged to ETW. Header data and private driver data will not be logged to ETW as part of the time stamp buffer. However, parts of the header will be logged separately.


Minimum supported client Windows 8.1,WDDM 1.3 and later
Minimum supported server Windows Server 2012 R2
Header d3dkmddi.h (include D3dkmddi.h)

See also