Freigeben über


DXGKDDI_COLLECTDBGINFO Rückruffunktion (d3dkmddi.h)

Die DxgkDdiCollectDbgInfo Funktionsinformationen für einen Debugbericht ausgibt.

Syntax

DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;

NTSTATUS DxgkddiCollectdbginfo(
  [in]     IN_CONST_HANDLE hAdapter,
  [in/out] IN_CONST_PDXGKARG_COLLECTDBGINFO pCollectDbgInfo
)
{...}

Parameter

[in] hAdapter

Ein Handle zu einem Kontextblock, der einem Anzeigeadapter zugeordnet ist. Der Display-Miniport (KMD) hat dieses Handle zuvor für Dxgkrnl- im MiniportDeviceContext Ausgabeparameters von DxgkDdiAddDevicebereitgestellt.

[in/out] pCollectDbgInfo

Ein Zeiger auf eine DXGKARG_COLLECTDBGINFO Struktur, die Informationen für den Debugbericht enthält.

Rückgabewert

DxgkDdiCollectDbgInfo gibt einen der folgenden Werte zurück:

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

Bemerkungen

Dxgkrnl- ruft die DxgkDdiCollectDbgInfo Funktion von KMD auf, wenn das Betriebssystem einen treiberbezogenen Debugbericht generiert. DxgkDdiCollectDbgInfo- kann entweder unmittelbar aufgerufen werden, bevor Timeouterkennung und -wiederherstellung (Timeout Detection and Recovery, TDR) oder unmittelbar vor den Betriebssystemfehlerüberprüfungen funktionieren. Während DxgkDdiCollectDbgInfo so schnell wie möglich zurückgeben sollte, gibt es keine vom System definierte maximale Zeit, die der Treiber in dieser Funktion verbringen kann.

KMD sollte Debuginformationen sammeln. Wenn DxgkDdiCollectDbgInfo- aufgerufen wird, empfängt der Treiber einen Fehlerüberprüfungscode in pCollectDbgInfo->Reason, der den Typ der für den Debugbericht erforderlichen Informationen angibt. Der Treiber kopiert die erforderlichen Debuginformationen in den Puffer, auf den pCollectDbgInfo->pBuffer verweist. Die maximale Anzahl von Byte von Informationen, die der Treiber kopieren kann, wird durch pCollectDbgInfo->BufferSizeangegeben.

DxgkDdiCollectDbgInfo wird in der Regel bei einem nicht definierten IRQL ausgeführt. Wenn pCollectDbgInfo->Reason jedoch auf VIDEO_TDR_TIMEOUT_DETECTED festgelegt ist (um ein adapterweites Zurücksetzen anzugeben) oder VIDEO_ENGINE_TIMEOUT_DETECTED (ab Windows 8 verfügbar, um eine Zurücksetzung einer oder mehrerer Knoten innerhalb eines physischen Adapters anzugeben), muss der Treiber sicherstellen, dass DxgkDdiCollectDbgInfo- seitenfähig ist, wird bei IRQL = PASSIVE_LEVELausgeführt und unterstützt Synchronisierung null Ebene.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Zielplattform- Desktop
Header- d3dkmddi.h
IRQL- PASSIVE_LEVEL (Siehe Hinweise)

Siehe auch

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice-

DxgkDdiResetFromTimeout-