Fonction EtwWriteString (wdm.h)
La fonction EventWriteString est une fonction de suivi que vous pouvez utiliser quand aucune donnée sophistiquée n’est requise. Cette fonction est similaire à une instruction d’impression de débogage.
Syntaxe
NTSTATUS EtwWriteString(
[in] REGHANDLE RegHandle,
[in] UCHAR Level,
[in] ULONGLONG Keyword,
[in, optional] LPCGUID ActivityId,
[in] PCWSTR String
);
Paramètres
[in] RegHandle
Pointeur vers le handle d’inscription du fournisseur d’événements, qui est retourné par la fonction EtwRegister si l’inscription du fournisseur d’événements réussit.
[in] Level
Niveau auquel l’événement est actif.
[in] Keyword
Mot clé de l’événement. Un mot clé est un masque de bits qui effectue des instructions générales sur la catégorie de l’événement ou de l’erreur. Étant donné que le mot clé est un masque de bits, vous pouvez appliquer plusieurs mot clé à un seul événement. Vous pouvez définir les mots clés et les positions de bits, ou utiliser des mots clés standard Windows, ou vous pouvez utiliser la combinaison de vos propres mots clés et des mots clés Windows.
[in, optional] ActivityId
Identificateur qui indique l’activité associée à l’événement. L’Id d’activité fournit un moyen de regrouper des événements associés et est utilisé dans le suivi de bout en bout. Cet identificateur est facultatif et peut être NULL.
[in] String
Chaîne terminée par null (WCHAR).
Valeur retournée
La fonction retourne STATUS_SUCCESS si l’événement est correctement publié.
Remarques
Étant donné que la chaîne produite par la fonction EventWriteString n’est pas localisable, il n’est pas recommandé d’utiliser cette fonction dans le code de production. Cette fonction ne doit pas être utilisée pour journaliser les événements hautement visibles.
Vous pouvez appeler EtwWriteString à n’importe quel IRQL. Toutefois, lorsque l’IRQL est supérieur à APC_LEVEL, les données transmises aux fonctions EtwWrite, EtwWriteEx, EtwWriteString et EtwWriteTransfer ne doivent pas être paginables. Autrement dit, toute routine en mode noyau qui s’exécute sur IRQL supérieure à APC_LEVEL ne peut pas accéder à la mémoire paginable. Les données transmises aux fonctions EtwWrite, EtwWriteEx, EtwWriteString et EtwWriteTransfer doivent résider dans la mémoire de l’espace système, quel que soit l’IRQL.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows Vista et les versions plus récentes de Windows. |
Plateforme cible | Universal |
En-tête | wdm.h (inclure Wdm.h, Ntddk.h) |
Bibliothèque | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | N’importe quel niveau (voir la section Commentaires.) |