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) |