Freigeben über


DXGKARG_COLLECTDBGINFO2-Struktur (d3dkmddi.h)

Die DXGKARG_COLLECTDBGINFO-Struktur beschreibt Informationen für einen Debugbericht, wenn DxgkDdiCollectDbgInfo2 aufgerufen wird.

Syntax

typedef struct _DXGKARG_COLLECTDBGINFO2 {
  UINT                       Reason;
  VOID                       *pBuffer;
  SIZE_T                     BufferSize;
  DXGKARG_COLLECTDBGINFO_EXT *pExtension;
  DXGK_TDR_TYPE              TdrType;
  UINT                       TdrPayloadSize;
  VOID                       *TdrPayload;
} DXGKARG_COLLECTDBGINFO2;

Member

Reason

[in] Der Fehlerprüfungscode , für den Debuginformationen im Puffer zurückgegeben werden sollen, auf den pBuffer zeigt. Dies sind mögliche Werte:

Wert Bedeutung
VIDEO_TDR_TIMEOUT_DETECTED 0x117 Ein DxgkDdiResetEngine-Vorgang hat einen logischen Adapter zurückgesetzt.
VIDEO_ENGINE_TIMEOUT_DETECTED 0x141 Ein DxgkDdiResetEngine-Vorgang hat einen oder mehrere Knoten innerhalb eines physischen Adapters zurückgesetzt. Verfügbar ab Windows 8.

pBuffer

[out] Ein Zeiger auf einen Puffer, der die Debuginformationen aus dem von Reason angegebenen Grund empfängt.

BufferSize

Die maximale Größe in Bytes, die in den Puffer kopiert werden soll, auf den pBuffer zeigt.

pExtension

Ein Zeiger auf eine vom Betriebssystem zugewiesene DXGKARG_COLLECTDBGINFO_EXT Struktur, die der Treiber optional mit Debugerweiterungsinformationen auffüllt.

TdrType

[in] Ein DXGK_TDR_TYPE Wert, der den Typ der aufgetretenen TDR angibt.

TdrPayloadSize

[in] Die Größe der TDR-Nutzlast in Bytes, auf die TdrPayload verweist.

TdrPayload

[in] Ein Zeiger auf einen Puffer, der die nutzlastspezifisch für bestimmte TdrType-Werte enthält, wie in der folgenden Tabelle angegeben. Dieser Puffer kann NULL sein.

TdrType Zugeordnete Struktur
DXGK_TDR_TYPE_ENGINE_TIMEOUT TdrPayload verweist auf eine DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT-Struktur .
DXGK_TDR_TYPE_VSYNC_TIMEOUT TdrPayload verweist auf eine DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT-Struktur .

Hinweise

Das Layout von DXGKARG_COLLECTDBGINFO2 ist abwärtskompatibel mit DXGKARG_COLLECTDBGINFO , damit die DxgkDdiCollectDbgInfo2-Implementierung vorhandene DxgkDdiCollectDbgInfo-Hilfsprogramme nach Bedarf wiederverwenden kann. Aus diesem Grund weisen die Felder Reason, pBuffer, BufferSize und pExtension die gleiche Semantik auf.

Für einige TDR-Typen (angegeben in TdrType) stellt das Betriebssystem zusätzliche Informationen im TdrPayload-Puffer von TdrPayloadSize-Bytes bereit. Es kann NULL sein, und der Treiber wird erwartet, dass er diesen Fall ohne Absturz behandelt.

Wenn die Nutzlast nicht NULL ist, kann sie in eine Struktur umgewandelt werden, die dem TDR-Typ entspricht. Das Betriebssystem kann diese Strukturen abwärtskompatibel vergrößern und am Ende neue Felder hinzufügen. Der Treiber muss TdrPayloadSize vor dem Zugriff auf TdrPayload-Felder überprüfen, um sicherzustellen, dass das Betriebssystem die gewünschte Nutzlastversion oder höher implementiert.

Arbeitsspeicher, auf den TdrPayload verweist, ist nur für die Dauer des DxgkddiCollectDbgInfo2-Aufrufs gültig. Der Treiber sollte keinen Zeiger auf TdrPayload über das Ende des DxgkddiCollectDbgInfo2-Aufrufs speichern.

Weitere Informationen finden Sie unter Verbesserungen der TDR-Debugfähigkeit.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 11, Version 24H2 (WDDM 3.2)
Kopfzeile d3dkmddi.h

Weitere Informationen

DXGK_TDR_TYPE

DxgkDdiCollectDbgInfo

DxgkDdiCollectDbgInfo2