TraceLoggingValue-Makro (traceloggingprovider.h)

TraceLogging-Wrappermakro für C++, das dem Ereignis ein Feld mit einem automatisch abgeleiteten Typ hinzufügt.

Syntax

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

Parameter

[in] value

Der Ereignisfeldwert.

[in, optional] __VA_ARGS__

Optionale Namen-, Beschreibungs- und Tagsparameter für die Felddefinition.

TraceLoggingValue kann mit 1, 2, 3 oder 4 Parametern angegeben werden. Wenn kein Parameter angegeben wird, wird ein Standardwert verwendet. TraceLoggingValue(a+b) entspricht beispielsweise TraceLoggingValue(a+b, "a+b", "", 0).

  • [in, optional] name

    Der Name, der für das Ereignisfeld verwendet werden soll. Falls angegeben, muss der Name-Parameter ein Zeichenfolgenliteral (keine Variable) sein und darf keine "\0"-Zeichen enthalten. Falls nicht angegeben, basiert der Name des Ereignisfelds auf dem Wert.

  • [in, optional] description

    Die Beschreibung des Werts des Ereignisfelds. Falls angegeben, muss der Beschreibungsparameter ein Zeichenfolgenliteral sein und wird im PDB enthalten sein.

  • [in, optional] tags

    Ein ganzzahliger Wert für die Kompilierzeitkonstante. Die niedrigen 28 Bit des Werts werden in den Metadaten des Felds enthalten. Die Semantik dieses Werts wird vom Ereignis consumer definiert. Während der Ereignisverarbeitung kann dieser Wert aus dem Feld EVENT_PROPERTY_INFO Tags abgerufen werden.

Rückgabewert

Keine

Bemerkungen

In C++-Code TraceLoggingValue(value, ...) kann als Parameter für einen Aufruf eines TraceLoggingWrite-Makros verwendet werden. Jeder TraceLoggingValue-Parameter fügt dem Ereignis ein Feld hinzu.

Der Typ des Felds im ETW-Ereignis wird automatisch vom Typ des Wertausdrucks abgeleitet. Basierend auf dem WerttypTraceLoggingValue(value, ...) entspricht einem der Standardmäßigen TraceLogging-Wrappermakros wie folgt:

Werttyp Entspricht Hinweise
bool TraceLoggingBoolean
char TraceLoggingChar Nur für char, nicht für signiertes char oder unsigned char.
char16_t TraceLoggingChar16
wchar_t TraceLoggingWChar Nur für native wchar_t, nicht für USHORT.
intNN_t TraceLoggingIntNN Für zeichenzeichen, short, int, long und long long.
uintNN_t TraceLoggingUIntNN Für zeichen ohne Vorzeichen, short, int, long und long long.
float TraceLoggingFloat32
double TraceLoggingFloat64
GUID TraceLoggingGuid
FILETIME TraceLoggingFileTime
SYSTEMTIME TraceLoggingSystemTime
SID* TraceLoggingSid Muss nicht NULL sein und muss auf einen gültigen SIDverweisen.
void* TraceLoggingPointer Protokolliert den Zeigerwert, nicht die Daten, auf die verwiesen wird.
char* TraceLoggingString Null beendete CP_ACP Zeichenfolge. NULL wird als ""behandelt.
char16_t* TraceLoggingString16 UTF-16-Zeichenfolge ohne Ende. NULL wird als u""behandelt.
wchar_t* TraceLoggingWideString UTF-16-Zeichenfolge ohne Ende. NULL wird als L""behandelt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile traceloggingprovider.h

Weitere Informationen

TraceLoggingWrite

TraceLogging-Wrappermakros