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 함수에 전달하는 사용 플래그 및 사용 수준을 이 콜백에 전달하지 않습니다. 이 정보를 검색하려면 GetTraceEnableFlags 및 GetTraceEnableLevel 함수를 각각 호출합니다.
또한 이후 호출을 위해 이 콜백에서 세션 핸들을 검색해야 합니다. 세션 핸들을 검색하려면 GetTraceLoggerHandle 함수를 호출합니다.
콜백 함수는 LoadLibrary가 발생할 수 있는 모든 항목(특히 로더 잠금이 필요한 모든 항목)을 호출해서는 안 됩니다.
예제
ControlCallback 함수의 예제 구현은 클래식 이벤트 작성을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | evntrace.h |