DXGKDDI_COLLECTDIAGNOSTICINFO fonction de rappel (dispmprt.h)
La routine de rappel DxgkDdiCollectDiagnosticInfo collecte les informations sur le pilote privé pour les raisons spécifiées par DXGK_DIAGNOSTICINFO_TYPE.
Dans Windows 10 version 1903, le pilote est appelé pour collecter des informations privées si la fonction appelle DxgkDdiAddDevice ou DxgkDdiStartDevice a échoué.
Syntaxe
DXGKDDI_COLLECTDIAGNOSTICINFO DxgkddiCollectdiagnosticinfo;
NTSTATUS DxgkddiCollectdiagnosticinfo(
[in] IN_CONST_PDEVICE_OBJECT PhysicalDeviceObject,
[in, out] INOUT_PDXGKARG_COLLECTDIAGNOSTICINFO pCollectDiagnosticInfo
)
{...}
Paramètres
[in] PhysicalDeviceObject
Pointeur vers un objet de périphérique physique (PDO) qui identifie une carte graphique.
[in, out] pCollectDiagnosticInfo
Pointeur vers une structure DXGKARG_COLLECTDIAGNOSTICINFO qui décrit les informations collectées par le pilote.
Valeur retournée
Retourne STATUS_SUCCESS si les informations de données privées ont été correctement collectées. Sinon, il retourne un code d’erreur tel que l’un des suivants.
Code d'erreur | Signification |
---|---|
STATUS_DRIVER_INTERNAL_ERROR | Une erreur sw générique s’est produite à l’intérieur du pilote. |
STATUS_ACCESS_DENIED | Le matériel est actuellement utilisé par d’autres threads et cette DDI ne peut pas y accéder. |
STATUS_DEVICE_HARDWARE_ERROR | Une erreur HW générique s’est produite. |
STATUS_DEVICE_POWERED_OFF | L’appareil est hors tension. |
Remarques
Cette fonction est appelée au niveau PASSIF, à tout moment entre les appels à DxgkDdiAddDevice et DxgkDdiStartDevice, et doit prendre en charge le niveau zéro de synchronisation. Les données collectées ne doivent pas contenir d’informations utilisateur privées.
Les pilotes WDDM 2.7 et versions ultérieures sont requis pour prendre en charge le DXGK_DI_BLACKSCREENDXGK_DIAGNOSTICINFO_TYPE type d’énumération pour la collecte de données de boîte noire d’écran noir.
Pour les scénarios d’écran noir, le système d’exploitation collecte d’abord les données de la zone blanche à partir du pilote en appelant DxgkDdiGetDisplayStateNonIntrusive et DxgkDdiGetDisplayStateIntrusive avant d’appeler cette DDI pour collecter des informations de boîte noire.
Il est recommandé d’utiliser pCollectDiagnosticInfo-BucketingString> pour compartimenter les données de boîte noire dans la cas où cela est possible. Si la taille de la mémoire tampon d’entrée BufferSizeIn n’est pas suffisante pour toutes les données de boîte noire, les pilotes doivent faire leurs propres compromis en laissant de côté les données les moins importantes dans la plupart des analyses de la cause racine de l’écran noir.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 10 version 1903 |
En-tête | dispmprt.h |
IRQL | PASSIVE_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour