ENABLE_TRACE_PARAMETERS 구조체(evntrace.h)

ENABLE_TRACE_PARAMETERS 구조에는 EnableTraceEx2를 통해 공급자를 사용하도록 설정하는 데 사용되는 정보가 포함되어 있습니다.

구문

typedef struct _ENABLE_TRACE_PARAMETERS {
  ULONG                    Version;
  ULONG                    EnableProperty;
  ULONG                    ControlFlags;
  GUID                     SourceId;
  PEVENT_FILTER_DESCRIPTOR EnableFilterDesc;
  ULONG                    FilterDescCount;
} ENABLE_TRACE_PARAMETERS, *PENABLE_TRACE_PARAMETERS;

멤버

Version

를 ENABLE_TRACE_PARAMETERS_VERSION_2(2)로 설정합니다.

EnableProperty

ETW에서 이벤트를 작성할 때 포함할 수 있는 선택적 설정입니다. 일부 설정은 각 이벤트의 확장된 데이터 항목 섹션에 추가 데이터를 씁니다. 다른 설정은 추적에 포함할 이벤트를 제어합니다. 이러한 선택적 설정을 사용하려면 다음 플래그 중 하나 이상을 지정합니다. 그렇지 않으면 0으로 설정합니다.

  • EVENT_ENABLE_PROPERTY_IGNORE_KEYWORD_0

    이벤트의 키워드(keyword) 인 이벤트를 필터링합니다0.

    Windows 10 버전 1507 이상에서 지원됩니다. 패치를 통해 sp1을 사용하는 Windows 8.1 및 Windows 7에서도 지원됩니다.

  • EVENT_ENABLE_PROPERTY_PROVIDER_GROUP

    EnableTraceEx2에 대한 이 호출은 개별 이벤트 공급자가 아닌 공급자 그룹을 사용하도록 설정해야 했음을 나타냅니다.

    Windows 10 버전 1507 이상에서 지원됩니다. 패치를 통해 sp1을 사용하는 Windows 8.1 및 Windows 7에서도 지원됩니다.

  • EVENT_ENABLE_PROPERTY_PROCESS_START_KEY

    확장 데이터에 프로세스 시작 키를 포함합니다.

    프로세스 시작 키는 프로세스를 식별하는 시퀀스 번호입니다. 프로세스 ID는 세션 내에서 재사용될 수 있지만 프로세스 시작 키는 현재 부팅 세션에서 고유하게 유지됩니다.

    Windows 10 버전 1507 이상에서 지원됩니다. 패치를 통해 sp1을 사용하는 Windows 8.1 및 Windows 7에서도 지원됩니다.

  • EVENT_ENABLE_PROPERTY_EVENT_KEY

    확장 데이터에 이벤트 키를 포함합니다.

    이벤트 키는 이 이벤트를 수신 대기하는 여러 추적 세션에서 일정하게 표시되는 이벤트 instance 대한 고유 식별자입니다. 동시 추적 세션의 상관 관계를 지정하는 데 사용할 수 있습니다.

    Windows 10 버전 1507 이상에서 지원됩니다.

  • EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE

    InPrivate 이벤트로 표시되거나 InPrivate로 표시된 프로세스에서 제공되는 모든 이벤트를 필터링합니다.

    InPrivate는 이벤트 또는 프로세스에 개인 또는 개인으로 간주되는 일부 데이터가 포함되어 있음을 의미합니다. 이 작업이 작동하려면 InPrivate로 자신을 지정하는 것은 프로세스 또는 이벤트에 달려 있습니다.

    Windows 10 버전 1507 이상에서 지원됩니다.

  • EVENT_ENABLE_PROPERTY_SID

    이벤트의 확장 데이터에 사용자의 SID(보안 식별자)를 포함합니다.

    Windows Vista 이상에서 지원됩니다.

  • EVENT_ENABLE_PROPERTY_TS_ID

    이벤트의 확장 데이터에 터미널 세션 식별자를 포함합니다.

    Windows Vista 이상에서 지원됩니다.

  • EVENT_ENABLE_PROPERTY_STACK_TRACE

    EventWrite를 사용하여 작성된 이벤트의 확장된 데이터에 호출 스택 추적을 추가합니다.

    참고

    총 이벤트 크기가 64K를 초과하는 경우 ETW는 이벤트를 삭제합니다. 공급자가 최대 64K에 가까운 이벤트를 로깅하는 경우 스택 캡처를 사용하도록 설정하면 이벤트가 손실될 수 있습니다.

    스택이 최대 프레임 수(192)보다 긴 경우 프레임은 스택의 아래쪽에서 잘려집니다.

    소비자의 경우 이벤트에는 EVENT_EXTENDED_ITEM_STACK_TRACE32 또는 EVENT_EXTENDED_ITEM_STACK_TRACE64 확장 항목 포함됩니다. 64비트 컴퓨터에서 추적은 32비트 추적 컨트롤러에서 추적을 시작한 경우에도 64비트 스택을 모두 포함합니다.

    Windows 7 이상에서 지원됩니다.

ControlFlags

예약되어 있습니다. 0으로 설정합니다.

SourceId

공급자를 사용하거나 사용하지 않도록 설정하는 호출자를 고유하게 식별하는 GUID입니다. 공급자가 EnableCallback을 구현하지 않으면 GUID가 사용되지 않습니다.

EnableFilterDesc

필터 데이터를 가리키는 EVENT_FILTER_DESCRIPTOR 구조체 배열에 대한 포인터입니다. 배열의 요소 수는 FilterDescCount 멤버에 지정됩니다. EVENT_FILTER_DESCRIPTOR 구조체의 Type 멤버에 지정된 각 필터 형식에 대한 설명자는 하나만 있을 수 있습니다.

FilterDescCount

EnableFilterDesc 멤버가 가리키는 EVENT_FILTER_DESCRIPTOR 배열의 요소(필터) 수입니다.

FilterDescCount 멤버는 EnableFilterDesc 멤버가 가리키는 배열의 EVENT_FILTER_DESCRIPTOR 구조체 수와 일치해야 합니다.

설명

ENABLE_TRACE_PARAMETERS 구조체는 버전 2 구조체이며 ENABLE_TRACE_PARAMETERS_V1 구조를 대체합니다.

Windows 8.1, Windows Server 2012 R2 이상:EnableTraceEx2 함수 및 ENABLE_TRACE_PARAMETERS 및 EVENT_FILTER_DESCRIPTOR 구조체에서 이벤트 페이로드, scope 및 스택 워크 필터를 사용하여 로거 세션의 특정 조건을 필터링할 수 있습니다. 이벤트 페이로드 필터에 대한 자세한 내용은 EnableTraceEx2, TdhCreatePayloadFilterTdhAggregatePayloadFilters 함수 및 EVENT_FILTER_DESCRIPTORPAYLOAD_FILTER_PREDICATE 구조를 참조하세요.

일반적으로 64비트 컴퓨터에서는 페이지 오류가 허용되지 않는 경우 특정 컨텍스트에서 커널 스택을 캡처할 수 없습니다. x64에서 커널 스택을 탐색할 수 있도록 하려면 메모리 관리 레지스트리 값을 1로 설정합니다 DisablePagingExecutive . DisablePagingExecutive 레지스트리 값은 레지스트리 키 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management아래에 있습니다. 이 작업은 시스템의 메모리 사용량을 늘리기 때문에 임시 진단 목적으로만 수행해야 합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱만 해당]
머리글 evntrace.h

추가 정보

EVENT_FILTER_DESCRIPTOR

EVENT_FILTER_EVENT_ID

PAYLOAD_FILTER_PREDICATE

EnableTraceEx2

TdhAggregatePayloadFilters

TdhCreatePayloadFilter

TdhEnumerateProviderFilters