DXGKARG_COLLECTDIAGNOSTICINFO structure (dispmprt.h)

Utilisé par la fonction de rappel DXGKDDI_COLLECTDIAGNOSTICINFO pour collecter des informations sur les pilotes privés pour diverses raisons.

Par exemple, le système d’exploitation appelle la fonction de rappel DXGKDDI_COLLECTDIAGNOSTICINFO lorsque des informations de diagnostic sont nécessaires, tout en fournissant le type d’informations demandées (DXGK_DIAGNOSTICINFO_TYPE). Le pilote doit collecter toutes les informations privées pour examiner le problème et les soumettre au système d’exploitation.

Syntaxe

typedef struct _DXGKARG_COLLECTDIAGNOSTICINFO {
  [in, optional]  HANDLE                   hAdapter;
  [in]            DXGK_DIAGNOSTICINFO_TYPE Type;
                  CHAR                     BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE];
                  CHAR                     DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE];
  union {
    [out, optional] PVOID pReserved;
  };
  [in]            UINT                     BufferSizeIn;
  [out]           UINT                     BufferSizeOut;
  [out]           PVOID                    pBuffer;
} DXGKARG_COLLECTDIAGNOSTICINFO;

Membres

[in, hAdapter

Handle d’un bloc de contexte associé à un adaptateur d’affichage.

Avant WDDM 2.6, la fonction DxgkDdiAddDevice du pilote miniport d’affichage fournissait ce handle au sous-système du noyau graphique DirectX. Ce paramètre est facultatif et peut être NULL si le pilote n’a pas pu fournir le handle au système d’exploitation.

[in] Type

Valeur d’énumération DXGK_DIAGNOSTICINFO_TYPE qui indique le type d’informations que le pilote doit collecter.

[out] BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE]

Mémoire tampon de taille fixe fournie pour une chaîne que le pilote doit utiliser pour identifier le problème à des fins de compartimentage. Cette chaîne doit être cohérente entre les versions de pilotes pour le même problème. Elle ne doit donc pas contenir d’éléments tels que des références sources, des versions de pilote ou des détails spécifiques instance comme des numéros de clôture ou des ID cibles. Il peut contenir des informations telles qu’un identificateur du sous-composant interne qui a échoué, ou le nom d’un module, par exemple mismatched_driver_ihvxseries.sys. Les codes valides sont 0x21-0x7E et le trait de soulignement (0x5f) doit être utilisé à la place de l’espace (0x20).

[out, DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE]

Mémoire tampon de taille fixe fournie pour une chaîne que le pilote doit utiliser pour décrire instance détails spécifiques qui ne sont pas utilisés pour le compartimentage, mais qui peuvent être utilisés pour donner plus de détails sur un problème spécifique, par exemple mismatched_driver_versions_kmd_10.22.1111.1121,_ihvxseries:10.22.1111.1122. Les codes valides sont 0x21-0x7E et le trait de soulignement (0x5f) doit être utilisé à la place de l’espace (0x20).

[out, pReserved

Pointeur vers VOID dans une union sans nom réservée en tant qu’espace réservé pour un pointeur vers un argument spécifique au type que le système d’exploitation peut fournir pour certains types. Cette valeur est NULL pour les types qui ne nécessitent aucune information étendue.

[in] BufferSizeIn

Variable qui fournit la taille, en octets, de la mémoire tampon allouée par le système d’exploitation. Pour La valeur type de DXGK_DI_ADDDEVICE et DXGK_DI_STARTDEVICE la taille est d’environ 0x80000.

[out] BufferSizeOut

Variable que le pilote doit mettre à jour avec une taille réelle remplie de ses données privées. Si aucune donnée privée n’est fournie, le pilote doit affecter 0 à la variable.

[out] pBuffer

Pointeur vers une mémoire tampon qui reçoit les données du pilote privé.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10 version 1903
En-tête dispmprt.h

Voir aussi

DXGK_DIAGNOSTICINFO_TYPE

DXGKDDI_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiGetDisplayStateIntrusive

DxgkDdiGetDisplayStateNonIntrusive