Fonction WmiTraceMessage (wdm.h)

La routine WmiTraceMessage ajoute un message au journal de sortie d’une session de suivi logiciel WPP .

Syntaxe

NTSTATUS WmiTraceMessage(
  [in] TRACELOGGER_HANDLE LoggerHandle,
  [in] ULONG              MessageFlags,
  [in] LPCGUID            MessageGuid,
  [in] USHORT             MessageNumber,
       ...                
);

Paramètres

[in] LoggerHandle

Spécifie un handle de trace pour une session de suivi logiciel.

[in] MessageFlags

Spécifie un OR au niveau du bit d’un ou de plusieurs indicateurs de message. Pour plus d'informations, consultez la section Notes.

[in] MessageGuid

Spécifie un GUID qui identifie la classe de messages de trace logicielle.

[in] MessageNumber

Identifie le sous-type de message. La signification des sous-types est spécifique à la classe de trace logicielle et au fournisseur.

[in] ...

Fournit la liste requise des paramètres de message qui spécifient un ensemble de parties de message. Les paramètres sont organisés sous la forme d’une séquence de paires de paramètres, où chaque paire spécifie une partie du message complet. Chaque paire de paramètres se compose d’un pointeur PVOID vers les données, suivi immédiatement d’une valeur ULONG qui spécifie la longueur des données. La liste de paramètres doit être terminée par un pointeur PVOID NULL suivi d’un ULONG(0).

Valeur retournée

WmiTraceMessage retourne l’une des valeurs suivantes :

Code de retour Description
STATUS_SUCCESS
L’opération s’est terminée avec succès.
STATUS_INVALID_HANDLE
LoggerHandle n’est pas un handle de trace logiciel valide.
STATUS_NO_MEMORY
La mémoire tampon est insuffisante pour journaliser le message. Consultez la section Notes.
Autre valeur NTSTATUS
Une erreur interne s’est produite.

Remarques

Un appelant peut utiliser WmiTraceMessage ou WmiTraceMessageVa pour ajouter un message au journal de sortie d’une session de suivi logiciel WPP. WmiTraceMessage simplifie le code d’un appelant en gérant le mécanisme de liste de variables avant d’appeler WmiTraceMessageVa.

Un appelant peut définir les indicateurs de message suivants :

Indicateur Description
TRACE_MESSAGE_SEQUENCE Incluez un numéro de séquence dans le message. Le séquencement de messages ne peut être utilisé que s’il est défini pour la session de suivi logiciel spécifiée par LoggerHandle.
TRACE_MESSAGE_GUID MessageGuid spécifie un GUID qui identifie une classe de trace logicielle. Cet indicateur doit être défini.
TRACE_MESSAGE_TIMESTAMP Incluez un horodatage dans le message.
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP Cet indicateur n’est pas implémenté et est obsolète. Il ne doit pas être utilisé.
TRACE_MESSAGE_SYSTEMINFO Incluez l’identificateur de thread (TID) et l’identificateur de processus (PID) dans le message.
 

Un message n’est pas consigné si l’une des conditions suivantes est vraie :

  • La taille totale, en octets, des données de message et de l’en-tête du message est supérieure à la taille des mémoires tampons de messages individuelles allouées pour une session de suivi logiciel. (La taille maximale de l’en-tête de message est de 48 octets.)
  • Toutes les mémoires tampons de messages allouées à la session de suivi logiciel sont complètes.
WmiTraceMessage s’exécute à l’IRQL de l’appelant.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP et les versions ultérieures de Windows.
Plateforme cible Universal
En-tête wdm.h (inclure Wdm.h, Ntddk.h, Ntifs.h)
Bibliothèque NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Consultez la section Notes.

Voir aussi

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessageVa