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 Tags フィールドから取得できます。
戻り値
なし
解説
TraceLoggingStruct(fieldCount, name, ...)
は、TraceLoggingWrite マクロの呼び出しのパラメーターとして使用できます。 各 TraceLoggingStruct パラメーターは、イベントに 1 つの論理フィールドを追加します。 フィールドは、後続の 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 |