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