DXGKDDI_COLLECTDBGINFO2 fonction de rappel (d3dkmddi.h)
La fonction DxgkDdiCollectDbgInfo2 génère des informations de pilote pour un rapport de débogage.
Syntaxe
DXGKDDI_COLLECTDBGINFO2 DxgkddiCollectdbginfo2;
NTSTATUS DxgkddiCollectdbginfo2(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_COLLECTDBGINFO2 pCollectDbgInfo2
)
{...}
Paramètres
hAdapter
[in] 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.
pCollectDbgInfo2
[in/out] Pointeur vers une structure DXGKARG_COLLECTDBGINFO2 qui contient des informations pour le rapport de débogage.
Valeur de retour
DxgkDdiCollectDbgInfo2 retourne l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
STATUS_SUCCESS | DxgkDdiCollectDbgInfo2 les informations du pilote de sortie réussies pour un rapport de débogage ; OU, le système d’exploitation a ignoré le contenu de la mémoire tampon qui point pBuffer et n’a pas ajouté d’informations de DxgkDdiCollectDbgInfo2 au rapport de débogage. |
STATUS_NO_MEMORY | DxgkDdiCollectDbgInfo2 n’a pas pu allouer de mémoire nécessaire pour qu’elle se termine. |
STATUS_UNSUCCESSFUL | Une autre erreur empêchait le pilote de collecter des informations de débogage valides. |
Remarques
Dxgkrnl appelle la fonction DxgkDdiCollectDbgInfo 2 chaque fois que le système d’exploitation est sur le point de générer un rapport de débogage lié au pilote. DxgkDdiCollectDbgInfo2 peut être appelée immédiatement avant délai d’attente 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 DxgkDdiCollectDbgInfo2 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.
DxgkDdiCollectDbgInfo2 reçoit des informations plus détaillées sur la cause racine du TDR que DxgkDdiCollectDbgInfo. KMD peut enregistrer l’état pertinent pour la partie du GPU responsable du TDR.
- Un pilote WDDM 3.2 n’est pas nécessaire pour implémenter DxgkddiCollectDbgInfo2, auquel cas le système d’exploitation appelle DxgkddiCollectDbgInfo.
KMD doit collecter des informations de débogage. Quand DxgkDdiCollectDbgInfo2 est appelée, le pilote reçoit un code de vérification des bogues dans pCollectDbgInfo2->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 pointe pCollectDbgInfo2->pBu ffer. Le nombre maximal d’octets d’informations que le pilote peut copier est spécifié par pCollectDbgInfo2->BufferSize.
DxgkDdiCollectDbgInfo s’exécute généralement à un irQL non défini. Toutefois, si pCollectDbgInfo2->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 DxgkDdiCollectDbgInfo2 est paginable, s’exécute à IRQL = PASSIVE_LEVELet prend en charge niveau zéro de synchronisation.
Pour plus d’informations, consultez améliorations de la débogage TDR.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows 11, version 24H2 (WDDM 3.2) |
d’en-tête | d3dkmddi.h |
IRQL | PASSIVE_LEVEL (voir remarques) |