Partager via


DXGKDDI_COLLECTDBGINFO fonction de rappel (d3dkmddi.h)

La fonction DxgkDdiCollectDbgInfo génère des informations de pilote pour un rapport de débogage.

Syntaxe

DXGKDDI_COLLECTDBGINFO DxgkddiCollectdbginfo;

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

Paramètres

[in] hAdapter

Handle vers un bloc de contexte associé à un adaptateur d’affichage. Le miniport d’affichage (KMD) a précédemment fourni ce handle pour Dxgkrnl dans le paramètre de sortie MiniportDeviceContext de DxgkDdiAddDevice.

[in/out] pCollectDbgInfo

Pointeur vers une structure DXGKARG_COLLECTDBGINFO qui contient des informations pour le rapport de débogage.

Valeur de retour

DxgkDdiCollectDbgInfo retourne l’une des valeurs suivantes :

Retourner le code Description
STATUS_SUCCESS DxgkDdiCollectDbgInfo les informations du pilote de sortie réussies pour un rapport de débogage ; OR, le système d’exploitation a ignoré le contenu de la mémoire tampon qui pBuffer pointe vers et n’a pas ajouté d’informations de DxgkDdiCollectDbgInfo au rapport de débogage.
STATUS_NO_MEMORY DxgkDdiCollectDbgInfo n’a pas pu allouer de mémoire nécessaire pour qu’elle soit terminée.
STATUS_UNSUCCESSFUL Une autre erreur empêchait le pilote de collecter des informations de débogage valides.

Remarques

Dxgkrnl appelle la fonction d'DxgkDdiCollectDbgInfo chaque fois que le système d’exploitation est sur le point de générer un rapport de débogage lié au pilote. DxgkDdiCollectDbgInfo peut être appelée immédiatement avant temps de détection et de récupération (TDR) fonctionnent ou immédiatement avant les vérifications de bogues du système d’exploitation. Même si DxgkDdiCollectDbgInfo doit retourner le plus rapidement possible, il n’y a pas de temps maximal défini par le système que le pilote peut passer dans cette fonction.

KMD doit collecter des informations de débogage. Quand DxgkDdiCollectDbgInfo est appelée, le pilote reçoit un code de vérification des bogues dans pCollectDbgInfo->Reason qui indique le type d’informations requis pour le rapport de débogage. Le pilote copie les informations de débogage requises dans la mémoire tampon vers laquelle pCollectDbgInfo ->pBuffer pointe vers. Le nombre maximal d’octets d’informations que le pilote peut copier est spécifié par pCollectDbgInfo->BufferSize.

DxgkDdiCollectDbgInfo s’exécute généralement à un irQL non défini. Toutefois, si pCollectDbgInfo->Reason est défini sur VIDEO_TDR_TIMEOUT_DETECTED (pour indiquer une réinitialisation à l’échelle de l’adaptateur) ou VIDEO_ENGINE_TIMEOUT_DETECTED (disponible à partir de Windows 8 pour indiquer une réinitialisation d’un ou plusieurs nœuds dans une carte physique), le pilote doit s’assurer que DxgkDdiCollectDbgInfo est paginable, s’exécute à IRQL = PASSIVE_LEVELet prend en charge niveau zéro de synchronisation.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
plateforme cible Bureau
d’en-tête d3dkmddi.h
IRQL PASSIVE_LEVEL (voir remarques)

Voir aussi

DXGKARG_COLLECTDBGINFO

DxgkDdiAddDevice

DxgkDdiResetFromTimeout