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 |