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

记录器日志的句柄。

返回值

备注

返回 NTSTATUS,指示驱动程序是否可以使用 RecorderLog 句柄进行日志记录。

在调用 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 日志条目(包括示例日志输出)中的时间戳的详细信息,请参阅 用于日志记录跟踪的 inflight Trace Recorder (IFR)

要求

要求
目标平台 Windows
标头 wpprecorder.h

另请参阅

RECORDER_LOG_CREATE_PARAMS 结构