다음을 통해 공유


WppRecorderLogCreate 매크로(wpprecorder.h)

WppRecorderLogCreate 메서드는 레코더 로그를 포함하는 버퍼를 만듭니다.

구문

__drv_maxIRQL(DISPATCH_LEVEL)
NTSTATUS WppRecorderLogCreate(
    [In]        PRECORDER_LOG_CREATE_PARAMS CreateParams,
    [Out]       RECORDER_LOG *              RecorderLog
    );

매개 변수

[in] CreateParams

RECORDER_LOG_CREATE_PARAMS 구조체에 대한 포인터입니다.

[out] RecorderLog

레코더 로그에 대한 핸들입니다.

반환 값

없음

설명

드라이버가 로깅에 RecorderLog 핸들을 사용할 수 있는지를 나타내는 NTSTATUS를 반환합니다.

WppRecorderLogCreate를 호출하기 전에 RECORDER_LOG_CREATE_PARAMS 구조를 할당하고 RECORDER_LOG_CREATE_PARAMS_INIT 호출하여 초기화합니다.

WppRecorderLogCreate를 호출하기 전에 먼저 WPP_INIT_TRACING 호출해야 합니다. WppRecorderLogCreate를 호출하기 전에 CreateParams의 멤버를 수정하지 않는 한 기본값이 사용됩니다.

성공적인 NTSTATUS가 반환되면 드라이버는 RecorderLog 핸들을 로깅에 사용할 수 있습니다.

성공적인 NTSTATUS가 반환되지 않으면 드라이버는 기본 로그에 RECORDER_LOG 핸들을 사용해야 합니다. 또한 드라이버는 RecorderLog가 가리키는 핸들에 로그하거나 삭제하려고 시도해서는 안됩니다.

참고

이 메서드는 페이징이 아닌 풀에서 로그 버퍼에 대한 메모리를 할당합니다.

예제

RECORDER_LOG_CREATE_PARAMS  recorderCreate; 
RECORDER_LOG                logHandle;
 
RECORDER_LOG_CREATE_PARAMS_INIT(&recorderCreate, "Log #1");
recorderCreate.TotalBufferSize = 1024 * 8;
// Optionally use the following line to get timestamps in WPP log entries
recorderCreate.UseTimeStamp    = WppRecorderTrue;
// Use this line if you would like more precise timestamps (ten millionths of a second). This is valid only if you have set UseTimeStamp = WppRecorderTrue.
// recorderCreate.PreciseTimeStamp = WppRecorderTrue
status = WppRecorderLogCreate(&recorderCreate, &logHandle);

샘플 로그 출력을 포함하여 WPP 로그 항목의 타임스탬프에 대한 자세한 내용은 추적 로 깅에 대한 IFR(Inflight Trace Recorder)을 참조하세요.

요구 사항

요구 사항
대상 플랫폼 Windows
헤더 wpprecorder.h

추가 정보

RECORDER_LOG_CREATE_PARAMS 구조체