Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
TraceLogging-Wrappermakro für C++, das dem Ereignis ein Feld mit einem automatisch abgeleiteten Typ hinzufügt.
Syntax
void TraceLoggingValue(
[in] value,
[in, optional] UINT name,
[in, optional] UINT description,
[in, optional] int tags
);
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] nameDer 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] descriptionDie Beschreibung des Werts des Ereignisfelds. Falls angegeben, muss der Beschreibungsparameter ein Zeichenfolgenliteral sein und wird im PDB enthalten sein.
[in, optional] tagsEin 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 |