DXGKARG_FORMATHISTORYBUFFER Struktur (d3dkmddi.h)

Enthält Informationen für den Anzeigeminiporttreiber zum Formatieren eines Verlaufspuffers.

Syntax

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

Member

pHistoryBuffer

Ein Zeiger auf den unformatierten DXGK_HISTORY_BUFFER Verlaufspuffer, der von der GPU aufgefüllt wurde.

HistoryBufferSize

Die Größe des Puffers in Bytes, auf den pHistoryBuffer verweist.

pFormattedBuffer

Ein Zeiger auf ein Segment des nicht ausgelagerten Systemspeichers, den der Treiber zum Speichern von Zeitstempelinformationen verwendet, die vom bereitgestellten unformatierten Verlaufspuffer abgeleitet werden.

Der Puffer, auf den pFormattedBuffer verweist, sollte als großes Array von Zeitstempeln mit Genauigkeit verwaltet werden. Der Puffer sollte keine Headerinformationen enthalten, die bereits im ursprünglichen Verlaufspuffer vorhanden sind.

FormattedBufferSize

Die Größe des Puffers in Bytes, auf den pFormattedBuffer verweist. Der Treiber sollte sicherstellen, dass keine Daten über diese Puffergröße hinaus geschrieben werden.

NumTimestamps

Die Anzahl der Zeitstempel. Nach Abschluss eines Aufrufs der DxgkDdiFormatHistoryBuffer-Funktion sollte der Treiber diesen Wert auf die Anzahl der Zeitstempel festlegen, die in den formatierten Puffer geschrieben werden, auf den pFormattedBuffer verweist.

Beachten Sie, dass die Anzahl der Zeitstempel, die sich im formatierten Ausgabepuffer befinden, erst bekannt ist, wenn der Treiber den formatierten Puffer abgeschlossen hat, auf den pFormattedBuffer verweist.

Precision

Eine DXGKARG_HISTORYBUFFERPRECISION Struktur, die der Treiber mit Informationen zur Genauigkeit der Zeitstempel füllt, die bei der ETW-Einrichtung (Event Tracing for Windows) protokolliert werden.

Der Wert des DXGKARG_HISTORYBUFFERPRECISION. PrecisionBits-Member darf nicht 0 sein.

Offset

Bei der Eingabe eines Aufrufs der DxgkDdiFormatHistoryBuffer-Funktion ist der Wert dieses Elements der Offset auf den ersten Zeitstempel, mit dem die Formatierung beginnen soll. Nach Abschluss des Funktionsaufrufs sollte der Treiber den Wert auf 0 festlegen, wenn er erfolgreich alle Zeitstempel im Verlaufspuffer formatiert hat.

Bei nichtzero konnte der Treiber nicht alle Zeitstempel im Verlaufspuffer formatieren, ohne den formatierten Puffer zu füllen. In diesem Fall stellt der Wert den Offset dar, der im nächsten Funktionsaufruf fortgesetzt werden soll.

Hinweise

Der Treiber sollte Zeitstempeleinträge und die Anzahl der verwendbaren Zeitstempel aus dem Header des bereitgestellten Verlaufspuffers abrufen. Alle zusätzlichen Daten, die der Treiber für Berechnungen benötigt, sollten in privaten Daten gespeichert werden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8.1, WDDM 1.3 und höher
Unterstützte Mindestversion (Server) Windows Server 2012 R2
Kopfzeile d3dkmddi.h (einschließlich D3dkmddi.h)

Weitere Informationen

DXGKARG_HISTORYBUFFERPRECISION

DXGK_HISTORY_BUFFER

DxgkDdiFormatHistoryBuffer