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 |