共用方式為


TraceLoggingStruct 宏 (traceloggingprovider.h)

TraceLogging 包裝函式宏 ,會將包含其他欄位的欄位新增至事件。

語法

void TraceLoggingStruct(
  [in]            fieldCount,
  [in]            name,
  [in, optional]  __VA_ARGS__
);

參數

[in] fieldCount

將視為結構一部分的欄位數目。 此參數必須是編譯時間常數。

[in] name

要用於 事件中結構的名稱。 name 參數必須是字串常值, (不是變數) ,而且不能包含任何 '\0' 個字元。

[in, optional] __VA_ARGS__

欄位定義的選擇性 描述標記 參數。

TraceLoggingStruct 可以使用 2、3 或 4 個參數來指定。 如果未指定參數,則會使用預設值。 例如,TraceLoggingStruct(3, "MyStruct") 相當於 TraceLoggingStruct(3, "MyStruct", "", 0)

  • [in, optional] description

    事件欄位值的描述。 如果提供,description 參數必須是字串常值,而且會包含在 PDB 中。

  • [in, optional] tags

    編譯時間常數整數值。 值的低 28 位將會包含在欄位的元數據中。 這個值的語意是由事件取用者所定義。 在事件處理期間,可以從 [EVENT_PROPERTY_INFO 標籤] 字段擷取此值。

傳回值

備註

TraceLoggingStruct(fieldCount, name, ...) 可作為 TraceLoggingWrite 宏調用的參數。 每個 TraceLoggingStruct 參數都會將一個邏輯字段新增至事件。 欄位是結構或群組,其中包含後續 的 fieldCount 邏輯字段做為其值。

範例

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));

規格需求

需求
最低支援的用戶端 Windows Vista [傳統型應用程式 |UWP 應用程式]
最低支援的伺服器 Windows Server 2008 [傳統型應用程式 |UWP 應用程式]
目標平台 Windows
標頭 traceloggingprovider.h

另請參閱

TraceLoggingWrite

TraceLogging 包裝函式宏