Share via


TraceLoggingRegisterEx 함수(traceloggingprovider.h)

ETW 사용 콜백을 지정하여 이벤트를 기록하는 데 사용할 수 있도록 TraceLogging 공급자를 등록합니다. 등록은 공급자가 등록 취소되거나 프로세스가 종료될 때까지 유효합니다.

구문

TLG_STATUS TraceLoggingRegisterEx(
  [in, out]      TraceLoggingHProvider hProvider,
  [in, optional] TLG_PENABLECALLBACK   pEnableCallback,
  [in, optional] PVOID                 pCallbackContext
);

매개 변수

[in, out] hProvider

등록할 TraceLogging 공급자의 핸들입니다. 핸들을 아직 등록하지 않아야 합니다.

[in, optional] pEnableCallback

ETW 추적 세션이 공급자를 사용하거나 사용하지 않도록 설정할 때 호출되는 콜백을 사용하도록 설정합니다.

[in, optional] pCallbackContext

콜백에 전달할 선택적 공급자 정의 컨텍스트 포인터입니다.

반환 값

사용자 모드 코드에서 이 함수를 호출하면 함수는 를 반환합니다 HRESULT. 매크로를 SUCCEEDED() 사용하여 함수의 성공 여부를 확인합니다.

커널 모드 코드에서 이 함수를 호출하면 함수는 를 반환합니다 NTSTATUS. 매크로를 NT_SUCCESS() 사용하여 함수의 성공 여부를 확인합니다.

참고

TraceLoggingRegisterEx에서 반환된 오류 코드는 주로 디버깅 및 진단 시나리오에 사용하기 위한 것입니다. ETW 공급자를 등록하지 못한 경우에도 대부분의 프로덕션 코드는 계속 실행되어야 하므로 릴리스 빌드는 일반적으로 TraceLoggingRegisterEx에서 반환된 오류 코드를 무시해야 합니다.

설명

공급자 등록에 대한 자세한 내용은 TraceLoggingRegister 를 참조하세요. 콜백 동작에 대한 자세한 내용은 ETW 콜백 사용을 참조하세요.

TraceLoggingRegisterEx 는 다음을 수행합니다.

  • EventRegister를 호출하여 ETW에 대한 연결을 엽니다.
  • EventRegister가 성공하면 InformationClassEventProviderSetTraits를 사용하여 TraceLoggingSetInformation을 호출하여 TraceLogging 지원에 대한 공급자를 구성합니다.

TraceLoggingRegister 호출은 콜백컨텍스트 매개 변수에 대해 NULL을 사용하여 TraceLoggingRegisterEx를 호출하는 것과 동일합니다. 세션이 공급자를 사용하거나 사용하지 않도록 설정할 때 ETW 사용 콜백을 받아야 하는 경우 TraceLoggingRegisterEx 를 사용합니다.

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 traceloggingprovider.h
라이브러리 Advapi32.lib
DLL N/A

참고 항목

ETW 콜백 사용

EventRegister

TraceLoggingRegister

TraceLoggingUnregister

TraceLoggingWrite

TRACELOGGING_DEFINE_PROVIDER