EventEnabled 함수(evntprov.h)
이벤트 공급자가 이벤트의 EVENT_DESCRIPTOR 따라 특정 이벤트를 생성해야 하는지 여부를 결정합니다.
ETW가 지정된 공급자의 지정된 이벤트를 수신 대기하는 세션이 없음을 빠르게 확인할 수 있으면 FALSE 를 반환합니다. 그렇지 않으면 TRUE를 반환 합니다.
구문
BOOLEAN EVNTAPI EventEnabled(
[in] REGHANDLE RegHandle,
[in] PCEVENT_DESCRIPTOR EventDescriptor
);
매개 변수
[in] RegHandle
공급자의 등록 핸들입니다. 핸들은 EventRegister에서 제공됩니다.
RegHandle이 NULL이면 EventEnabled는 FALSE를 반환합니다.
[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 |