Condividi tramite


DXGKDDI_COLLECTDBGINFO funzione di callback (d3dkmddi.h)

La funzione DxgkDdiCollectDbgInfo restituisce informazioni sul driver per un report di debug.

Sintassi

DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;

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

Parametri

[in] hAdapter

Handle a un blocco di contesto associato a una scheda di visualizzazione. Il miniport visualizzato (KMD) in precedenza ha fornito questo handle a Dxgkrnl nel parametro di output MiniportDeviceContext di DxgkDdiAddDevice.

[in/out] pCollectDbgInfo

Puntatore a una struttura DXGKARG_COLLECTDBGINFO contenente informazioni per il report di debug.

Valore restituito

DxgkDdiCollectDbgInfo restituisce uno dei valori seguenti:

Codice restituito Descrizione
STATUS_SUCCESS DxgkDdiCollectDbgInfo informazioni sul driver di output per un report di debug; OR, il sistema operativo ha ignorato il contenuto nel buffer a cui pBuffer punta e non ha aggiunto informazioni da DxgkDdiCollectDbgInfo al report di debug.
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo non è riuscito a allocare memoria necessaria per il completamento.
STATUS_UNSUCCESSFUL Un altro errore impedisce al driver di raccogliere informazioni di debug valide.

Commenti

Dxgkrnl chiama la funzione DxgkDdiCollectDbgInfo del sistema operativo ogni volta che il sistema operativo sta per generare un report di debug correlato al driver. DxgkDdiCollectDbgInfo potrebbe essere chiamato immediatamente prima del funzionamento del rilevamento timeout e del ripristino (TDR) o immediatamente prima dei controlli del bug del sistema operativo. Anche se DxgkDdiCollectDbgInfo deve restituire il più rapidamente possibile, non esiste un periodo massimo massimo di tempo definito dal sistema che il driver può trascorrere in questa funzione.

Il servizio di gestione delle chiavi deve raccogliere informazioni di debug. Quando viene chiamato DxgkDdiCollectDbgInfo, il driver riceve un codice di controllo bug in pCollectDbgInfo-Reason> che indica il tipo di informazioni necessarie per il report di debug. Il driver copia le informazioni di debug necessarie nel buffer a cui pCollectDbgInfo-pBuffer> punta. Il numero massimo di byte di informazioni che il driver può copiare è specificato da pCollectDbgInfo-BufferSize>.

DxgkDdiCollectDbgInfo viene in genere eseguito in un irQL non definito. Tuttavia, se pCollectDbgInfo-Reason> è impostato su VIDEO_TDR_TIMEOUT_DETECTED (per indicare una reimpostazione a livello di adattatore) o VIDEO_ENGINE_TIMEOUT_DETECTED (disponibile a partire da Windows 8 per indicare una reimpostazione di uno o più nodi all'interno di una scheda fisica), il driver deve assicurarsi che DxgkDdiCollectDbgInfo sia paginabile, viene eseguito in IRQL = PASSIVE_LEVEL e supporta il livello zero di sincronizzazione.

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Piattaforma di destinazione Desktop
Intestazione d3dkmddi.h
IRQL PASSIVE_LEVEL (vedere Osservazioni)

Vedi anche

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice

DxgkDdiResetFromTimeout