Partager via


Macro TraceLoggingValue (traceloggingprovider.h)

Macro wrapper TraceLogging pour C++ qui ajoute un champ avec un type déduit automatiquement à l’événement.

Syntaxe

void TraceLoggingValue(
  [in]            value,
  [in, optional]  __VA_ARGS__
);

Paramètres

[in] value

Valeur du champ d’événement.

[in, optional] __VA_ARGS__

Paramètres de nom, de description et d’étiquettes facultatifs pour la définition de champ.

TraceLoggingValue peut être spécifié avec 1, 2, 3 ou 4 paramètres. Si aucun paramètre n’est spécifié, une valeur par défaut est utilisée. Par exemple, TraceLoggingValue(a+b) équivaut à TraceLoggingValue(a+b, "a+b", "", 0).

  • [in, optional] name

    Nom à utiliser pour le champ d’événement. S’il est fourni, le paramètre name doit être un littéral de chaîne (et non une variable) et ne doit pas contenir de caractères « \0 ». S’il n’est pas fourni, le nom du champ d’événement est basé sur la valeur.

  • [in, optional] description

    Description de la valeur du champ d’événement. S’il est fourni, le paramètre description doit être un littéral de chaîne et sera inclus dans la base de données PDB.

  • [in, optional] tags

    Valeur entière constante au moment de la compilation. Les 28 bits inférieurs de la valeur seront inclus dans les métadonnées du champ. La sémantique de cette valeur est définie par le consommateur d’événements. Pendant le traitement des événements, cette valeur peut être récupérée à partir du champ Balises EVENT_PROPERTY_INFO .

Valeur de retour

None

Remarques

Dans le code C++, TraceLoggingValue(value, ...) peut être utilisé comme paramètre pour un appel d’une macro TraceLoggingWrite . Chaque paramètre TraceLoggingValue ajoute un champ à l’événement.

Le type du champ dans l’événement ETW est automatiquement déduit du type de l’expression de valeur . En fonction du type de valeur, TraceLoggingValue(value, ...) équivaut à l’une des macros wrapper TraceLogging standard comme suit :

Type de valeur Équivalent à Notes
bool TraceLoggingBoolean
char TraceLoggingChar Uniquement pour char, pas pour char signé ou non signé.
char16_t TraceLoggingChar16
wchar_t TraceLoggingWChar Uniquement pour les wchar_t natifs, pas pour USHORT.
intNN_t TraceLoggingIntNN Pour les caractères signés, short, int, long et long long.
uintNN_t TraceLoggingUIntNN Pour char non signé, short, int, long et long.
float TraceLoggingFloat32
double TraceLoggingFloat64
GUID TraceLoggingGuid
FILETIME TraceLoggingFileTime
SYSTEMTIME TraceLoggingSystemTime
SID* TraceLoggingSid Doit être non NULL et doit pointer vers un valide SID.
void* TraceLoggingPointer Journalise la valeur du pointeur, et non les données référencées.
char* TraceLoggingString Chaîne de CP_ACP terminée à zéro. NULL est traité comme "".
char16_t* TraceLoggingString16 Chaîne UTF-16 terminée sans fin. NULL est traité comme u"".
wchar_t* TraceLoggingWideString Chaîne UTF-16 terminée sans fin. NULL est traité comme L"".

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau | applications UWP]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau | applications UWP]
Plateforme cible Windows
En-tête traceloggingprovider.h

Voir aussi

TraceLoggingWrite

Macros du wrapper TraceLogging