Condividi tramite


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

Vedi anche

TraceLoggingWrite

Macro wrapper TraceLogging