Macro TraceLoggingStruct (traceloggingprovider.h)
Macro contenedora traceLogging que agrega un campo que contiene otros campos al evento.
Sintaxis
void TraceLoggingStruct(
[in] fieldCount,
[in] name,
[in, optional] __VA_ARGS__
);
Parámetros
[in] fieldCount
Número de campos que se considerarán parte de la estructura. Este parámetro debe ser una constante en tiempo de compilación.
[in] name
Nombre que se va a usar para la estructura en el evento . El parámetro name debe ser un literal de cadena (no una variable) y no debe contener ningún carácter '\0'.
[in, optional] __VA_ARGS__
Parámetros opcionales de descripción y etiquetas para la definición de campo.
TraceLoggingStruct se puede especificar con 2, 3 o 4 parámetros. Si no se especifica un parámetro, se usará un valor predeterminado. Por ejemplo, TraceLoggingStruct(3, "MyStruct")
es equivalente a TraceLoggingStruct(3, "MyStruct", "", 0)
.
[in, optional] description
Descripción del valor del campo de evento. Si se proporciona, el parámetro description debe ser un literal de cadena y se incluirá en la PDB.
[in, optional] tags
Valor entero constante en tiempo de compilación. Los 28 bits inferiores del valor se incluirán en los metadatos del campo. El consumidor de eventos define la semántica de este valor. Durante el procesamiento de eventos, este valor se puede recuperar del campo Etiquetas de EVENT_PROPERTY_INFO .
Valor devuelto
None
Observaciones
TraceLoggingStruct(fieldCount, name, ...)
se puede usar como parámetro para una invocación de una macro TraceLoggingWrite . Cada parámetro TraceLoggingStruct agrega un campo lógico al evento. El campo es una estructura o grupo que contiene los campos lógicos fieldCount subsiguientes como su valor.
Ejemplos
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 | Value |
---|---|
Cliente mínimo compatible | Windows Vista [aplicaciones de escritorio | aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008 [aplicaciones de escritorio | aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | traceloggingprovider.h |