다음을 통해 공유


WMIDPREQUEST 콜백 함수(evntrace.h)

RegisterTraceGuids 기반("클래식") 이벤트 공급자는 컨트롤러에서 알림 요청을 사용하거나 사용하지 않도록 설정하도록 이 함수를 구현합니다.

WMIDPREQUEST 형식은 이 콜백 함수에 대한 포인터를 정의합니다. ControlCallback 은 애플리케이션 정의 함수 이름의 자리 표시자입니다.

구문

WMIDPREQUEST Wmidprequest;

ULONG Wmidprequest(
  [in] WMIDPREQUESTCODE RequestCode,
       PVOID RequestContext,
       ULONG *BufferSize,
  [in] PVOID Buffer
)
{...}

매개 변수

[in] RequestCode

요청 코드. 다음 값 중 하나가 됩니다.

의미
WMI_ENABLE_EVENTS 공급자 또는 변경 공급자 구성을 사용하도록 설정합니다.
WMI_DISABLE_EVENTS 공급자를 해제합니다.

RequestContext

공급자 정의 컨텍스트입니다. 공급자는 의 RequestContext 매개 변수를 사용합니다.
RegisterTraceGuids - 컨텍스트를 지정합니다.

BufferSize

내부용으로 예약된 속성입니다.

[in] Buffer

공급자를 사용하거나 사용하지 않도록 설정하는 이벤트 추적 세션에 대한 정보를 포함하는 WNODE_HEADER 구조체에 대한 포인터입니다.

반환 값

콜백이 성공하면 ERROR_SUCCESS 반환해야 합니다. ETW는 컨트롤러가 EnableTrace 를 호출하여 공급자를 사용하도록 설정하고 공급자가 RegisterTraceGuids를 아직 호출하지 않은 경우를 제외하고 이 함수의 반환 값을 무시합니다. 이 경우 등록에 성공하면 RegisterTraceGuids 에서 이 콜백의 반환 값을 반환합니다.

설명

이 함수는 RegisterTraceGuids 함수를 사용하여 지정됩니다. 컨트롤러가 EnableTrace 함수를 호출하여 사용 플래그 또는 수준을 활성화, 비활성화 또는 변경하는 경우 ETW는 이 콜백을 호출합니다. 공급자는 RequestCode 값에 따라 자체를 사용하거나 사용하지 않도록 설정합니다. 일반적으로 공급자는 이 값을 사용하여 전역 플래그를 설정하여 사용 상태를 나타냅니다.

공급자는 사용 또는 사용 안 함의 해석을 정의합니다. 일반적으로 공급자를 사용하도록 설정하면 이벤트가 생성되지만 사용하지 않도록 설정되는 동안에는 생성되지 않습니다.

ETW는 컨트롤러가 EnableTrace 함수에 전달하는 사용 플래그 및 사용 수준을 이 콜백에 전달하지 않습니다. 이 정보를 검색하려면 GetTraceEnableFlagsGetTraceEnableLevel 함수를 각각 호출합니다.

또한 이후 호출을 위해 이 콜백에서 세션 핸들을 검색해야 합니다. 세션 핸들을 검색하려면 GetTraceLoggerHandle 함수를 호출합니다.

콜백 함수는 LoadLibrary가 발생할 수 있는 모든 항목(특히 로더 잠금이 필요한 모든 항목)을 호출해서는 안 됩니다.

예제

ControlCallback 함수의 예제 구현은 클래식 이벤트 작성을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 evntrace.h

추가 정보

EnableTrace

GetTraceEnableFlags

GetTraceEnableLevel

GetTraceLoggerHandle

RegisterTraceGuids

WNODE_HEADER