TraceLoggingSetInformation 함수(traceloggingprovider.h)
EventSetInformation을 호출하여 TraceLogging 공급자를 구성합니다.
구문
TLG_STATUS TraceLoggingSetInformation(
TraceLoggingHProvider hProvider,
EVENT_INFO_CLASS informationClass,
PVOID pvInformation,
ULONG cbInformation
);
매개 변수
hProvider
구성할 TraceLogging 공급자에 대한 핸들입니다. 공급자는 등록된 상태여야 합니다.
informationClass
구성할 설정의 EVENT_INFO_CLASS .
pvInformation
구성할 설정 값이 있는 입력 버퍼입니다. 이 버퍼의 형식은 informationClass 매개 변수의 값에 따라 달라집니다.
cbInformation
입력 버퍼에 있는 데이터의 크기(바이트)입니다.
반환 값
사용자 모드 코드에서 이 함수를 호출하면 함수는 를 반환합니다 HRESULT
. 매크로를 SUCCEEDED()
사용하여 함수의 성공 여부를 확인합니다.
커널 모드 코드에서 이 함수를 호출하면 함수는 를 반환합니다 NTSTATUS
. 매크로를 NT_SUCCESS()
사용하여 함수의 성공 여부를 확인합니다.
설명
이 함수는 EventSetInformation 함수에 대한 래퍼 역할을 합니다.
EventSetInformation 함수는 일부 버전의 Windows에서 사용할 수 없습니다. TraceLoggingSetInformation의 기본 동작은 (사용자 모드) 또는 NTDDI_VERSION
(커널 모드) 매크로의 WINVER
컴파일 시간 값에 따라 달라집니다.
- 또는
NTDDI_VERSION
로 지정된WINVER
Windows의 대상 버전이 EventSetInformation을 지원하는 것으로 알려진 경우 TraceLoggingSetInformation은 EventSetInformation을 직접 호출합니다. - 그렇지 않으면 TraceLoggingSetInformation 은 GetProcAddress (사용자 모드) 또는 MmGetSystemRoutineAddress (커널 모드)를 사용하여 EventSetInformation을 찾아 호출합니다. 이 작업이 실패하면 TraceLoggingSetInformation은 (사용자 모드) 또는
STATUS_NOT_SUPPORTED
(커널 모드)를 반환HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
합니다.
이 함수의 기본 동작을 재정의하려면 앞에 매크로를 TLG_HAVE_EVENT_SET_INFORMATION
정의합니다 #include <TraceLoggingProvider.h>
.
#define TLG_HAVE_EVENT_SET_INFORMATION 0
그런 다음 TraceLoggingSetInformation은 아무 작업도 수행하지 않으며 (사용자 모드) 또는STATUS_ENTRYPOINT_NOT_FOUND
(커널 모드)를 반환HRESULT_FROM_WIN32(ERROR_NOT_SUPPORTED)
합니다.#define TLG_HAVE_EVENT_SET_INFORMATION 1
그러면 TraceLoggingSetInformation이 EventSetInformation을 직접 호출합니다.#define TLG_HAVE_EVENT_SET_INFORMATION 2
그런 다음 TraceLoggingSetInformation은 GetProcAddress(사용자 모드) 또는 MmGetSystemRoutineAddress(커널 모드)를 통해 EventSetInformation을 호출합니다.
자세한 내용은 매크로에 대한 머리글의 TraceLoggingProvider.h
주석을 TLG_HAVE_EVENT_SET_INFORMATION
참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows Vista [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2008 [데스크톱 앱 | UWP 앱] |
머리글 | traceloggingprovider.h |
라이브러리 | Advapi32.lib |