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 |