Partager via


DXGKARG_COLLECTDBGINFO2 structure (d3dkmddi.h)

La structure DXGKARG_COLLECTDBGINFO décrit les informations d’un rapport de débogage lorsque DxgkDdiCollectDbgInfo2 est appelé.

Syntaxe

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;

Membres

Reason

[in] Code case activée pour lequel retourner des informations de débogage dans la mémoire tampon vers laquelle pBuffer pointe. Voici les valeurs possibles :

Valeur Signification
VIDEO_TDR_TIMEOUT_DETECTED 0x117 Une opération DxgkDdiResetEngine a réinitialisé une carte logique.
0x141 VIDEO_ENGINE_TIMEOUT_DETECTED Une opération DxgkDdiResetEngine a réinitialisé un ou plusieurs nœuds dans une carte physique. Disponible à partir de Windows 8.

pBuffer

[out] Pointeur vers une mémoire tampon qui reçoit les informations de débogage pour la raison spécifiée par Reason .

BufferSize

Taille maximale, en octets, à copier dans la mémoire tampon vers laquelle pBuffer pointe.

pExtension

Pointeur vers une structure de DXGKARG_COLLECTDBGINFO_EXT allouée par le système d’exploitation que le pilote remplit éventuellement avec des informations d’extension de débogage.

TdrType

[in] Valeur DXGK_TDR_TYPE qui spécifie le type de TDR qui s’est produit.

TdrPayloadSize

[in] Taille, en octets, de la charge utile TDR vers laquelle pointe TdrPayload .

TdrPayload

[in] Pointeur vers une mémoire tampon qui contient la charge utile spécifique à certaines valeurs TdrType , comme indiqué dans le tableau suivant. Cette mémoire tampon peut être NULL.

TdrType Structure associée
DXGK_TDR_TYPE_ENGINE_TIMEOUT TdrPayload pointe vers une structure DXGK_TDR_PAYLOAD_ENGINE_TIMEOUT .
DXGK_TDR_TYPE_VSYNC_TIMEOUT TdrPayload pointe vers une structure DXGK_TDR_PAYLOAD_VSYNC_TIMEOUT .

Remarques

La disposition de DXGKARG_COLLECTDBGINFO2 est rétrocompatible avec DXGKARG_COLLECTDBGINFO pour permettre à l’implémentation DxgkDdiCollectDbgInfo2 de réutiliser les assistances DxgkDdiCollectDbgInfo existantes en fonction des besoins. Pour cette raison, les champs Reason, pBuffer, BufferSize et pExtension ont la même sémantique.

Pour certains types TDR (spécifiés dans TdrType), le système d’exploitation fournit des informations supplémentaires dans la mémoire tampon TdrPayload des octets TdrPayloadSize . Il peut être NULL, et le pilote est censé gérer ce cas sans se bloquer.

Lorsque la charge utile n’est pas NULL, elle peut être convertie en une structure qui correspond au type TDR. Le système d’exploitation peut développer ces structures de manière rétrocompatible, en ajoutant de nouveaux champs à la fin. Le pilote doit case activée TdrPayloadSize avant d’accéder aux champs TdrPayload pour s’assurer que le système d’exploitation implémente la version de charge utile souhaitée ou une version ultérieure.

La mémoire vers laquelle pointe TdrPayload est uniquement valide pendant la durée de l’appel DxgkddiCollectDbgInfo2 . Le pilote ne doit pas stocker de pointeur vers TdrPayload après la fin de l’appel DxgkddiCollectDbgInfo2 .

Pour plus d’informations, consultez Améliorations de la capacité de débogage TDR.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 11, version 24H2 (WDDM 3.2)
En-tête d3dkmddi.h

Voir aussi

DXGK_TDR_TYPE

DxgkDdiCollectDbgInfo

DxgkDdiCollectDbgInfo2