struttura DXGKARG_COLLECTDBGINFO2 (d3dkmddi.h)

La struttura DXGKARG_COLLECTDBGINFO descrive le informazioni per un report di debug quando viene chiamato DxgkDdiCollectDbgInfo2 .

Sintassi

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;

Members

Reason

[in] Codice di controllo dei bug a cui restituire le informazioni di debug nel buffer a cui punta pBuffer . Questi sono i valori possibili:

Valore Significato
VIDEO_TDR_TIMEOUT_DETECTED 0x117 Un'operazione DxgkDdiResetEngine ha reimpostato una scheda logica.
VIDEO_ENGINE_TIMEOUT_DETECTED 0x141 Un'operazione DxgkDdiResetEngine ha reimpostato uno o più nodi all'interno di una scheda fisica. Disponibile a partire da Windows 8.

pBuffer

[out] Puntatore a un buffer che riceve le informazioni di debug per il motivo specificato da Reason .

BufferSize

Dimensione massima, in byte, da copiare nel buffer a cui punta pBuffer .

pExtension

Puntatore a una struttura di DXGKARG_COLLECTDBGINFO_EXT allocata dal sistema operativo che il driver popola facoltativamente con informazioni sull'estensione di debug.

TdrType

[in] Valore DXGK_TDR_TYPE che specifica il tipo di TDR che si è verificato.

TdrPayloadSize

[in] Dimensioni, in byte, del payload TDR a cui punta TdrPayload .

TdrPayload

[in] Puntatore a un buffer che contiene il payload specifico per determinati valori TdrType , come indicato nella tabella seguente. Questo buffer può essere NULL.

TdrType Struttura associata
DXGK_TDR_TYPE_ENGINE_TIMEOUT TdrPayload punta a una struttura DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT .
DXGK_TDR_TYPE_VSYNC_TIMEOUT TdrPayload punta a una struttura DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT .

Commenti

Il layout di DXGKARG_COLLECTDBGINFO2 è compatibile con le versioni precedenti con DXGKARG_COLLECTDBGINFO per consentire all'implementazione di DxgkDdiCollectDbgInfo2 di riutilizzare gli helper DxgkDdiCollectDbgInfo in base alle esigenze. Per questo motivo, i campi Reason, pBuffer, BufferSize e pExtension hanno la stessa semantica.

Per alcuni tipi TDR (specificati in TdrType), il sistema operativo fornisce informazioni aggiuntive nel buffer TdrPayload dei byte TdrPayloadSize . Può essere NULL e si prevede che il driver gestisca questo caso senza arrestarsi in modo anomalo.

Quando il payload non è NULL, può essere eseguito il cast a una struttura che corrisponde al tipo TDR. Il sistema operativo potrebbe aumentare queste strutture in modo compatibile con le versioni precedenti, aggiungendo nuovi campi alla fine. Il driver deve controllare TdrPayloadSize prima di accedere ai campi TdrPayload per assicurarsi che il sistema operativo implementi la versione del payload desiderata o successiva.

La memoria a cui punta TdrPayload è valida solo per la durata della chiamata DxgkddiCollectDbgInfo2 . Il driver non deve archiviare un puntatore a TdrPayload oltre la fine della chiamata a DxgkddiCollectDbgInfo2 .

Per altre informazioni, vedere Miglioramenti del debug TDR.

Requisiti

Requisito Valore
Client minimo supportato Windows 11 versione 24H2 (WDDM 3.2)
Intestazione d3dkmddi.h

Vedi anche

DXGK_TDR_TYPE

DxgkDdiCollectDbgInfo

DxgkDdiCollectDbgInfo2