Macro TraceLoggingStruct (traceloggingprovider.h)
Macro wrapper TraceLogging que adiciona um campo que contém outros campos ao evento.
Sintaxe
void TraceLoggingStruct(
[in] fieldCount,
[in] name,
[in, optional] __VA_ARGS__
);
Parâmetros
[in] fieldCount
O número de campos que serão considerados parte da estrutura. Esse parâmetro deve ser uma constante de tempo de compilação.
[in] name
O nome a ser usado para a estrutura no evento. 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'.
[in, optional] __VA_ARGS__
Parâmetros opcionais de descrição e marcas para a definição de campo.
TraceLoggingStruct pode ser especificado com 2, 3 ou 4 parâmetros. Se um parâmetro não for especificado, um padrão será usado. Por exemplo, TraceLoggingStruct(3, "MyStruct")
é equivalente a TraceLoggingStruct(3, "MyStruct", "", 0)
.
[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
TraceLoggingStruct(fieldCount, name, ...)
pode ser usado como um parâmetro para uma invocação de uma macro TraceLoggingWrite . Cada parâmetro TraceLoggingStruct adiciona um campo lógico ao evento. O campo é uma estrutura ou grupo que contém os campos lógicos fieldCount subsequentes como seu valor.
Exemplos
TraceLoggingWrite(
g_hProvider,
"MyEventWithStruct",
TraceLoggingLevel(WINEVENT_LEVEL_WARNING), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyEventCategories), // Provider-defined categories
TraceLoggingInt32(num1, "BeforeStruct"),
TraceLoggingStruct(3, "StructWith3Fields"),
TraceLoggingInt32(num2, "StructField1"),
TraceLoggingInt32(num3, "StructField2"),
TraceLoggingInt32(num4, "StructField3"),
TraceLoggingInt32(num5, "AfterStruct));
TraceLoggingWrite(
g_hProvider,
"MyEventWithNestedStruct",
TraceLoggingLevel(WINEVENT_LEVEL_VERBOSE), // Levels defined in <winmeta.h>
TraceLoggingKeyword(MyEventCategories), // Provider-defined categories
TraceLoggingInt32(num1, "BeforeStruct"),
TraceLoggingStruct(3, "StructWith3Fields"),
TraceLoggingInt32(num2, "StructField1"),
TraceLoggingStruct(2, "StructField2"),
TraceLoggingInt32(num3, "StructField2NestedField1"),
TraceLoggingInt32(num4, "StructField2NestedField2"),
TraceLoggingInt32(num5, "StructField3"),
TraceLoggingInt32(num6, "AfterStruct));
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 |