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 |