Поделиться через


структура 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

Указатель на неформатируемый буфер журнала DXGK_HISTORY_BUFFER, заполненный GPU.

HistoryBufferSize

Размер буфера в байтах, на который указывает pHistoryBuffer.

pFormattedBuffer

Указатель на сегмент нестраничной системной памяти, используемой драйвером для хранения сведений о метках времени, производных от предоставленного неформатированного буфера журнала.

Буфер, на который указывает pFormattedBuffer, должен управляться как большой массив меток времени точности, указанной точности. Буфер не должен содержать сведения о заголовке, которые уже существуют в исходном буфере журнала.

FormattedBufferSize

Размер буфера в байтах, на который указывает pFormattedBuffer. Драйвер должен убедиться, что он не записывает данные за пределы этого размера буфера.

NumTimestamps

Количество меток времени. При завершении вызова функции DxgkDdiFormatHistoryBuff er драйвер должен задать это значение в число меток времени, записанных в форматированный буфер, на который указывает 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