EnableTrace 함수(evntrace.h)
추적 세션 컨트롤러는 EnableTrace 를 호출하여 ETW 이벤트 공급자가 이벤트를 추적 세션에 기록하는 방법을 구성합니다.
이 함수는 사용되지 않습니다. EnableTraceEx2 함수는 이 함수를 대체합니다.
구문
ULONG WMIAPI EnableTrace(
[in] ULONG Enable,
[in] ULONG EnableFlag,
[in] ULONG EnableLevel,
[in] LPCGUID ControlGuid,
CONTROLTRACE_ID TraceId
);
매개 변수
[in] Enable
공급자로부터 이벤트를 받도록 설정하거나 공급자로부터 이벤트를 받을 때 사용되는 설정을 조정하려면 1로 설정합니다(예: 수준 및 키워드 변경). 공급자로부터 이벤트 수신을 사용하지 않도록 설정하려면 0으로 설정합니다.
[in] EnableFlag
공급자가 작성하려는 이벤트의 범주를 결정하는 키워드의 32비트 비트 마스크입니다. 일반적으로 공급자는 이벤트의 키워드 비트가 이 값에 설정된 비트 와 일치하거나EnableLevel 기준을 충족하는 것 외에도 이벤트에 키워드 비트가 설정되어 있지 않은 경우 이벤트를 작성합니다.
참고
EventRegister 기반 공급자는 64비트 키워드를 지원합니다. EnableTraceEx2를 사용하여 64비트 MatchAnyKeyword 마스크를 사용하여 공급자를 사용하도록 설정합니다.
[in] EnableLevel
공급자가 작성하려는 이벤트의 최대 수준을 나타내는 값입니다. 일반적으로 공급자는 EnableFlag 조건을 충족하는 것 외에도 이벤트의 수준이 이 값보다 작거나 같은 경우 이벤트를 작성합니다.
이 값은 1~255 범위에 있어야 합니다. Microsoft는 아래와 같이 수준 1-5의 의미 체계를 정의합니다. 값이 낮을수록 더 심각한 이벤트가 발생합니다. EnableLevel의 각 값은 지정된 수준과 모든 더 심각한 수준을 사용하도록 설정합니다. 예를 들어 를 지정 TRACE_LEVEL_WARNING
하면 소비자는 경고, 오류 및 중요한 이벤트를 받게 됩니다.
값 | 의미 |
---|---|
TRACE_LEVEL_CRITICAL (1) | 비정상적인 종료 또는 종료 이벤트 |
TRACE_LEVEL_ERROR (2) | 심각한 오류 이벤트 |
TRACE_LEVEL_WARNING (3) | 할당 오류와 같은 경고 이벤트 |
TRACE_LEVEL_INFORMATION (4) | 오류 없는 정보 이벤트 |
TRACE_LEVEL_VERBOSE (5) | 자세한 진단 이벤트 |
상수는 TRACE_LEVEL
evntrace.h에 정의됩니다. 동등한 WINMETA_LEVEL
상수는 winmeta.h에 정의됩니다.
[in] ControlGuid
사용하거나 사용하지 않도록 설정할 이벤트 공급자의 컨트롤 GUID(공급자 ID)입니다.
TraceId
반환 값
함수가 성공하면 반환 값이 ERROR_SUCCESS.
함수가 실패하면 반환 값은 시스템 오류 코드 중 하나입니다. 다음은 몇 가지 일반적인 오류와 그 원인입니다.
ERROR_INVALID_PARAMETER
다음 중 하나에 해당합니다.
- ControlGuid 가 NULL입니다.
- TraceHandle 은 NULL입니다.
ERROR_INVALID_FUNCTION
공급자가 등록되지 않은 경우 사용 플래그 및 수준을 변경할 수 없습니다.
ERROR_WMI_GUID_NOT_FOUND
공급자가 등록되지 않았습니다. KB307331 또는 Windows 2000 서비스 팩 4가 설치되고 공급자가 등록되지 않은 경우에 발생합니다. 이 오류를 방지하려면 먼저 공급자를 등록해야 합니다.
ERROR_NO_SYSTEM_RESOURCES
공급자를 사용하도록 설정할 수 있는 추적 세션 수를 초과했습니다.
ERROR_ACCESS_DENIED
관리 권한이 있는 사용자, 그룹의 사용자
Performance Log Users
및 ,LocalService
또는NetworkService
로LocalSystem
실행되는 서비스만 이벤트 공급자가 프로세스 간 세션에 사용하도록 설정할 수 있습니다. 제한된 사용자에게 이벤트 공급자를 사용하도록 설정하는 기능을 부여하려면 그룹에 추가Performance Log Users
하거나 EventAccessControl을 참조하세요.Windows XP 및 Windows 2000: 누구나 이벤트 공급자를 사용하도록 설정할 수 있습니다.
설명
이벤트 추적 컨트롤러는 이 함수를 호출하여 세션에 이벤트를 쓰는 이벤트 공급자를 구성합니다. 예를 들어 컨트롤러는 공급자로부터 이벤트 수집을 시작하거나, 공급자로부터 수집되는 이벤트의 수준 또는 키워드를 조정하거나, 공급자로부터 이벤트 수집을 중지하기 위해 이 함수를 호출할 수 있습니다.
이 함수는 사용되지 않습니다. 추가 기능을 위해 새 코드는 EnableTraceEx2를 사용해야 합니다.
다음 두 함수 호출은 동일합니다.
// Obsolete:
Status = EnableTrace(
Enable,
EnableFlag,
EnableLevel,
ControlGuid,
TraceHandle);
// Updated equivalent code:
Status = EnableTraceEx2(
TraceHandle,
ControlGuid,
Enable, // ControlCode
EnableLevel,
EnableFlag, // MatchAnyKeyword
0, // MatchAllKeyword
0, // Timeout
NULL); // EnableParameters
세션에 대한 공급자 구성의 의미 체계에 대한 자세한 내용은 EnableTraceEx2 설명서를 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | evntrace.h |
라이브러리 | Advapi32.lib |
DLL | Advapi32.dll |