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

추적 로깅 래퍼 매크로