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 SID verweisen. |
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 |