DXGKARG_COLLECTDIAGNOSTICINFO-Struktur (dispmprt.h)

Wird von der DXGKDDI_COLLECTDIAGNOSTICINFO Rückruffunktion verwendet, um private Treiberinformationen aus verschiedenen Gründen zu sammeln.

Beispielsweise ruft das Betriebssystem die DXGKDDI_COLLECTDIAGNOSTICINFO Rückruffunktion auf, wenn Diagnoseinformationen benötigt werden, während der Typ der angeforderten Informationen bereitgestellt wird (DXGK_DIAGNOSTICINFO_TYPE). Der Treiber sollte alle privaten Informationen sammeln, um das Problem zu untersuchen und an das Betriebssystem zu übermitteln.

Syntax

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;

Member

[in, hAdapter

Ein Handle für einen Kontextblock, der einer Grafikkarte zugeordnet ist.

Vor WDDM 2.6 stellte die DxgkDdiAddDevice-Funktion des Anzeigeminiporttreibers dieses Handle für das DirectX-Grafikkernsubsystem bereit. Dieser Parameter ist optional und kann NULL sein, wenn der Treiber das Handle nicht für das Betriebssystem bereitstellen konnte.

[in] Type

Ein DXGK_DIAGNOSTICINFO_TYPE Enumerationswert, der den Typ der Informationen angibt, die der Treiber sammeln muss.

[out] BucketingString[DXGK_DUMP_BUCKETING_BUFFER_SIZE]

Ein Puffer mit fester Größe, der für eine Zeichenfolge bereitgestellt wird, die der Treiber verwenden sollte, um das Problem für Bucketingzwecke zu identifizieren. Diese Zeichenfolge sollte zwischen Treiberversionen für dasselbe Problem konsistent sein, sodass sie keine Elemente wie Quellverweise, Treiberversionen oder instance spezifischen Details wie Zaunnummern oder Ziel-IDs enthalten sollte. Sie kann Informationen enthalten, z. B. einen Bezeichner der internen Unterkomponente, die fehlgeschlagen ist, oder den Namen eines Moduls, z. B mismatched_driver_ihvxseries.sys. . Die gültigen Codes sind 0x21-0x7E , und der Unterstrich (0x5f) sollte anstelle des Leerzeichens (0x20) verwendet werden.

[out, DescriptionString[DXGK_DUMP_DESCRIPTION_BUFFER_SIZE]

Ein Puffer mit fester Größe, der für eine Zeichenfolge bereitgestellt wird, die der Treiber verwenden sollte, um instance spezifischen Details zu beschreiben, die nicht für bucketing verwendet werden, aber möglicherweise verwendet werden, um weitere Details zu einem bestimmten Problem anzugeben, z. Bmismatched_driver_versions_kmd_10.22.1111.1121,_ihvxseries:10.22.1111.1122. . Die gültigen Codes sind 0x21-0x7E , und der Unterstrich (0x5f) sollte anstelle des Leerzeichens (0x20) verwendet werden.

[out, pReserved

Ein Zeiger auf VOID in einer unbenannten Union, die als Platzhalter für einen Zeiger auf ein typspezifisches Argument reserviert ist, das das Betriebssystem möglicherweise für einige Typen bereitstellt. Dieser Wert ist NULL für Typen , die keine erweiterten Informationen erfordern.

[in] BufferSizeIn

Eine Variable, die die Größe des vom Betriebssystem zugewiesenen Puffers in Byte bereitstellt. Für Typwertvon DXGK_DI_ADDDEVICE und DXGK_DI_STARTDEVICE ist die Größe in etwa 0x80000.

[out] BufferSizeOut

Eine Variable, die der Treiber mit einer tatsächlichen Größe aktualisieren soll, die mit seinen privaten Daten gefüllt ist. Wenn keine privaten Daten bereitgestellt werden, sollte der Treiber der Variablen 0 zuweisen.

[out] pBuffer

Ein Zeiger auf einen Puffer, der die privaten Treiberdaten empfängt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 1903
Kopfzeile dispmprt.h

Weitere Informationen

DXGK_DIAGNOSTICINFO_TYPE

DXGKDDI_COLLECTDIAGNOSTICINFO

DxgkDdiAddDevice

DxgkDdiGetDisplayStateIntrusive

DxgkDdiGetDisplayStateNonIntrusive