Partager via


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

Voir aussi

EtwWrite

EtwWriteEx

EtwWriteTransfer