Macro TraceLoggingValue (traceloggingprovider.h)

Macro wrapper TraceLogging para C++ que adiciona um campo com um tipo deduzido automaticamente ao evento.

Sintaxe

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

Parâmetros

[in] value

O valor do campo de evento.

[in, optional] __VA_ARGS__

Parâmetros opcionais de nome, descrição e marcas para a definição de campo.

TraceLoggingValue pode ser especificado com 1, 2, 3 ou 4 parâmetros. Se um parâmetro não for especificado, um padrão será usado. Por exemplo, TraceLoggingValue(a+b) é equivalente a TraceLoggingValue(a+b, "a+b", "", 0).

  • [in, optional] name

    O nome a ser usado para o campo de evento. Se fornecido, o parâmetro name deve ser um literal de cadeia de caracteres (não uma variável) e não deve conter nenhum caractere '\0'. Se não for fornecido, o nome do campo de evento será baseado no valor .

  • [in, optional] description

    A descrição do valor do campo de evento. Se fornecido, o parâmetro de descrição deve ser um literal de cadeia de caracteres e será incluído no PDB.

  • [in, optional] tags

    Um valor inteiro constante de tempo de compilação. Os 28 bits baixos do valor serão incluídos nos metadados do campo. A semântica desse valor é definida pelo consumidor do evento. Durante o processamento de eventos, esse valor pode ser recuperado do campo Marcas EVENT_PROPERTY_INFO .

Retornar valor

Nenhum

Comentários

No código C++, TraceLoggingValue(value, ...) pode ser usado como um parâmetro para uma invocação de uma macro TraceLoggingWrite . Cada parâmetro TraceLoggingValue adiciona um campo ao evento.

O tipo do campo no evento ETW é deduzido automaticamente do tipo da expressão de valor . Com base no tipo de valor, TraceLoggingValue(value, ...) é equivalente a uma das macros de wrapper TraceLogging padrão da seguinte maneira:

Tipo de valor Equivalente a Observações
bool TraceLoggingBoolean
char TraceLoggingChar Somente para char, não para char assinado ou caractere sem sinal.
char16_t TraceLoggingChar16
wchar_t TraceLoggingWChar Somente para wchar_t nativos, não para USHORT.
intNN_t TraceLoggingIntNN Para char com sinal, short, int, long e long long.
uintNN_t TraceLoggingUIntNN Para caractere sem sinal, curto, int, longo e longo.
float TraceLoggingFloat32
double TraceLoggingFloat64
GUID TraceLoggingGuid
FILETIME TraceLoggingFileTime
SYSTEMTIME TraceLoggingSystemTime
SID* TraceLoggingSid Deve ser não NULL e deve apontar para um válido SID.
void* TraceLoggingPointer Registra o valor do ponteiro, não os dados referenciados.
char* TraceLoggingString Cadeia de caracteres de CP_ACP terminada em zero. NULL é tratado como "".
char16_t* TraceLoggingString16 Cadeia de caracteres UTF-16 terminada em zero. NULL é tratado como u"".
wchar_t* TraceLoggingWideString Cadeia de caracteres UTF-16 terminada em zero. NULL é tratado como L"".

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho traceloggingprovider.h

Confira também

TraceLoggingWrite

Macros de wrapper traceLogging