다음을 통해 공유


EventEnabled 함수(evntprov.h)

이벤트 공급자가 이벤트의 EVENT_DESCRIPTOR 따라 특정 이벤트를 생성해야 하는지 여부를 결정합니다.

ETW가 지정된 공급자의 지정된 이벤트를 수신 대기하는 세션이 없음을 빠르게 확인할 수 있으면 FALSE 를 반환합니다. 그렇지 않으면 TRUE를 반환 합니다.

구문

BOOLEAN EVNTAPI EventEnabled(
  [in] REGHANDLE          RegHandle,
  [in] PCEVENT_DESCRIPTOR EventDescriptor
);

매개 변수

[in] RegHandle

공급자의 등록 핸들입니다. 핸들은 EventRegister에서 제공됩니다.

RegHandleNULL이면 EventEnabledFALSE를 반환합니다.

[in] EventDescriptor

이벤트를 사용할지 여부를 확인하는 데 사용할 정보를 제공하는 EVENT_DESCRIPTOR. 여기에는 이벤트의 수준(심각도) 및 키워드(범주)가 포함됩니다.

반환 값

공급자가 이벤트 생성을 건너뛰어야 하는 경우 FALSE 를 반환합니다. 즉, ETW가 지정된 설명자를 사용하여 지정된 공급자의 이벤트를 기록할 이벤트 컬렉션 세션이 없다고 신속하게 확인할 수 있으면 FALSE 를 반환합니다. 그렇지 않으면 공급자가 이벤트를 생성해야 함을 나타내는 TRUE를 반환합니다.

설명

이 API는 공급자 핸들 및 이벤트 설명자를 기반으로 이벤트를 사용할 수 있는지(즉, 이벤트 소비자 세션이 이벤트를 수신하는 데 관심이 있는지 여부)를 확인하는 간단한 방법을 제공합니다.

참고

이 API는 보수적인 빠른 테스트를 수행합니다. 이 API는 후속 심층 필터링에서 이벤트를 기록할 세션이 없음을 결정하는 특정 경우에 true를 반환할 수 있습니다.

이 API는 EventProviderEnabled에서 제공하는 기능과 유사한 기능을 제공합니다. 공급자가 이벤트의 전체 EVENT_DESCRIPTOR 액세스할 수 있는 경우 공급자는 EventEnabled를 사용해야 합니다. 공급자가 이벤트의 Level 및 Keyword에만 액세스할 수 있는 경우 공급자는 EventProviderEnabled를 사용해야 합니다.

대부분의 이벤트 공급자는 EventEnabled를 직접 호출하지 않습니다.

  • EventWrite API에는 자체 EventEnabled 테스트가 포함되며 이벤트가 사용하도록 설정되지 않은 경우 즉시 반환됩니다.
  • 대부분의 ETW 공급자는 EventWrite 또는 EventEnabled를 직접 호출하는 대신 ETW 프레임워크(예: 매니페스트 또는 TraceLogging)를 사용합니다. ETW 프레임워크는 일반적으로 EventEnabled를 호출하는 대신 사용해야 하는 자체 이벤트 사용 API를 제공합니다.
  • ETW 프레임워크 구현은 일반적으로 EventEnabled를 호출하는 대신 자체 공급자 상태를 검사.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 evntprov.h
라이브러리 Advapi32.lib
DLL Advapi32.dll

추가 정보

EventProviderEnabled

EVENT_DESCRIPTOR