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) fournissait précédemment ce handle à Dxgkrnl dans le paramètre de sortie MiniportDeviceContext de DxgkDdiAddDevice.
[in/out] pCollectDbgInfo
Pointeur vers une structure de DXGKARG_COLLECTDBGINFO qui contient des informations pour le rapport de débogage.
Valeur retournée
DxgkDdiCollectDbgInfo retourne l’une des valeurs suivantes :
Code de retour | Description |
---|---|
STATUS_SUCCESS | DxgkDdiCollectDbgInfo a réussi à générer des informations de pilote pour un rapport de débogage ; OU, le système d’exploitation a ignoré le contenu de la mémoire tampon vers laquelle pBuffer pointe et n’a pas ajouté d’informations de DxgkDdiCollectDbgInfo au rapport de débogage. |
STATUS_NO_MEMORY | DxgkDdiCollectDbgInfo n’a pas pu allouer la mémoire nécessaire pour qu’elle se termine. |
STATUS_UNSUCCESSFUL | Une autre erreur a empêché le pilote de collecter des informations de débogage valides. |
Remarques
Dxgkrnl appelle la fonction DxgkDdiCollectDbgInfo de KMD 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é immédiatement avant le travail de détection et de récupération du délai d’expiration (TDR) ou immédiatement avant les vérifications de bogues du système d’exploitation. Alors que DxgkDdiCollectDbgInfo doit retourner aussi rapidement que possible, le pilote ne peut pas passer de temps maximal défini par le système dans cette fonction.
KMD doit collecter des informations de débogage. Lorsque DxgkDdiCollectDbgInfo est appelé, le pilote reçoit un code case activée bogue dans pCollectDbgInfo-Reason> qui indique le type d’informations requises 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. 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_LEVEL et prend en charge le niveau zéro de synchronisation.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL (voir les remarques) |