DXGKDDI_COLLECTDBGINFO2 Rückruffunktion (d3dkmddi.h)

Die DxgkDdiCollectDbgInfo2-Funktion gibt Treiberinformationen für einen Debugbericht aus.

Syntax

DXGKDDI_COLLECTDBGINFO2 DxgkddiCollectdbginfo2;

NTSTATUS DxgkddiCollectdbginfo2(
  IN_CONST_HANDLE hAdapter,
  INOUT_PDXGKARG_COLLECTDBGINFO2 pCollectDbgInfo2
)
{...}

Parameter

hAdapter

[in] Ein Handle für einen Kontextblock, der einem Anzeigeadapter zugeordnet ist. Der Display-Miniport (KMD) hat dieses Handle zuvor für Dxgkrnl im Ausgabeparameter MiniportDeviceContext von DxgkDdiAddDevice bereitgestellt.

pCollectDbgInfo2

[ein/aus] Ein Zeiger auf eine DXGKARG_COLLECTDBGINFO2-Struktur , die Informationen für den Debugbericht enthält.

Rückgabewert

DxgkDdiCollectDbgInfo2 gibt einen der folgenden Werte zurück:

Rückgabecode Beschreibung
STATUS_SUCCESS DxgkDdiCollectDbgInfo2 gibt Treiberinformationen erfolgreich für einen Debugbericht aus. Oder das Betriebssystem ignorierte den Inhalt im Puffer, auf den pBuffer verweist, und hat dem Debugbericht keine Informationen aus DxgkDdiCollectDbgInfo2 hinzugefügt.
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo2 konnte keinen Speicher zuordnen, der für den Abschluss erforderlich war.
STATUS_UNSUCCESSFUL Ein weiterer Fehler verhinderte, dass der Treiber gültige Debuginformationen sammelte.

Hinweise

Dxgkrnl ruft die DxgkDdiCollectDbgInfo2-Funktion von KMD auf, wenn das Betriebssystem einen treiberbezogenen Debugbericht generieren möchte. DxgkDdiCollectDbgInfo2 kann entweder unmittelbar vor der Timeouterkennung und -wiederherstellung (Timeout Detection and Recovery, TDR) oder unmittelbar vor der Betriebssystemfehlerüberprüfung aufgerufen werden. DxgkDdiCollectDbgInfo2 sollte zwar so schnell wie möglich zurückgegeben werden, es gibt jedoch keine systemdefinierte maximale Zeit, die der Treiber für diese Funktion aufwenden kann.

DxgkDdiCollectDbgInfo2 erhält ausführlichere Informationen zur Grundursache des TDR als DxgkDdiCollectDbgInfo . KMD kann den Zustand speichern, der für den Teil der GPU relevant ist, der für den TDR verantwortlich ist.

  • Ein WDDM 3.2-Treiber ist nicht erforderlich, um DxgkddiCollectDbgInfo2 zu implementieren. In diesem Fall ruft das Betriebssystem DxgkddiCollectDbgInfo auf.

KMD sollte Debuginformationen sammeln. Wenn DxgkDdiCollectDbgInfo2 aufgerufen wird, erhält der Treiber einen Fehlerüberprüfungscode in pCollectDbgInfo2-Reason>, der den Typ der für den Debugbericht erforderlichen Informationen angibt. Der Treiber kopiert die erforderlichen Debuginformationen in den Puffer, auf den pCollectDbgInfo2-pBuffer> verweist. Die maximale Anzahl von Bytes an Informationen, die der Treiber kopieren kann, wird von pCollectDbgInfo2-BufferSize> angegeben.

DxgkDdiCollectDbgInfo wird in der Regel mit einem nicht definierten IRQL ausgeführt. Wenn pCollectDbgInfo2-Reason> jedoch auf VIDEO_TDR_TIMEOUT_DETECTED (um eine adapterweite Zurücksetzung anzugeben) oder VIDEO_ENGINE_TIMEOUT_DETECTED (verfügbar ab Windows 8, um eine Zurücksetzung eines oder mehrerer Knoten innerhalb eines physischen Adapters anzugeben), muss der Treiber sicherstellen, dass DxgkDdiCollectDbgInfo2 auslagerungsfähig ist, mit IRQL = PASSIVE_LEVEL ausgeführt wird und die Synchronisierungsstufe Null unterstützt.

Weitere Informationen finden Sie unter Verbesserungen der TDR-Debugbarkeit.

Anforderungen

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

Weitere Informationen

DXGKARG_COLLECTDBGINFO2

DxgkDdiCollectDbgInfo