共用方式為


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 初始化。

您必須先呼叫 WPP_INIT_TRACING ,才能呼叫 WppRecorderLogCreate。 除非在呼叫 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 結構