Macro TraceLoggingValue (traceloggingprovider.h)
Macro wrapper TraceLogging per C++ che aggiunge un campo con un tipo dedotto automaticamente all'evento.
Sintassi
void TraceLoggingValue(
[in] value,
[in, optional] __VA_ARGS__
);
Parametri
[in] value
Valore del campo dell'evento.
[in, optional] __VA_ARGS__
Parametri di nome, descrizione e tag facoltativi per la definizione del campo.
TraceLoggingValue può essere specificato con 1, 2, 3 o 4 parametri. Se non viene specificato un parametro, verrà utilizzato un valore predefinito. Ad esempio, TraceLoggingValue(a+b)
equivale a TraceLoggingValue(a+b, "a+b", "", 0)
.
[in, optional] name
Nome da utilizzare per il campo dell'evento. Se specificato, il parametro name deve essere un valore letterale stringa (non una variabile) e non deve contenere caratteri '\0'. Se non specificato, il nome del campo evento sarà basato sul valore.
[in, optional] description
Descrizione del valore del campo evento. Se specificato, il parametro description deve essere un valore letterale stringa e verrà incluso nel PDB.
[in, optional] tags
Valore intero costante in fase di compilazione. I 28 bit bassi del valore verranno inclusi nei metadati del campo. La semantica di questo valore è definita dal consumer di eventi. Durante l'elaborazione degli eventi, questo valore può essere recuperato dal campo tag EVENT_PROPERTY_INFO .
Valore restituito
nessuno
Osservazioni
Nel codice TraceLoggingValue(value, ...)
C++ può essere usato come parametro per una chiamata di una macro TraceLoggingWrite . Ogni parametro TraceLoggingValue aggiunge un campo all'evento.
Il tipo del campo nell'evento ETW viene dedotto automaticamente dal tipo dell'espressione valore . In base al tipo di valore, TraceLoggingValue(value, ...)
equivale a una delle macro wrapper TraceLogging standard come indicato di seguito:
Tipo di valore | Equivalente a | Note |
---|---|---|
bool |
TraceLoggingBoolean | |
char |
TraceLoggingChar | Solo per char, non per char signed char o unsigned char. |
char16_t |
TraceLoggingChar16 | |
wchar_t |
TraceLoggingWChar | Solo per le wchar_t native, non per USHORT. |
intNN_t |
TraceLoggingIntNN | Per caratteri firmati, short, int, long e long. |
uintNN_t |
TraceLoggingUIntNN | Per unsigned char, short, int, long e long. |
float |
TraceLoggingFloat32 | |
double |
TraceLoggingFloat64 | |
GUID |
TraceLoggingGuid | |
FILETIME |
TraceLoggingFileTime | |
SYSTEMTIME |
TraceLoggingSystemTime | |
SID* |
TraceLoggingSid | Deve essere diverso da NULL e deve puntare a un oggetto valido SID . |
void* |
TraceLoggingPointer | Registra il valore del puntatore, non i dati a cui si fa riferimento. |
char* |
TraceLoggingString | Stringa con terminazione zero CP_ACP. NULL viene considerato come "" . |
char16_t* |
TraceLoggingString16 | Stringa UTF-16 con terminazione zero. NULL viene considerato come u"" . |
wchar_t* |
TraceLoggingWideString | Stringa UTF-16 con terminazione zero. NULL viene considerato come L"" . |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows Vista [app desktop | App UWP] |
Server minimo supportato | Windows Server 2008 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | traceloggingprovider.h |