TRACE_LOGFILE_HEADER 結構 (evntrace.h)
TRACE_LOGFILE_HEADER結構包含事件追蹤會話及其事件的相關資訊。 它是 ETW 記錄檔標頭中追蹤資訊資料的原始資料格式。 它也是 OpenTrace 所傳回信息的一部分,並在追蹤處理期間提供給 BufferCallback 。
語法
typedef struct _TRACE_LOGFILE_HEADER {
ULONG BufferSize;
union {
ULONG Version;
struct {
UCHAR MajorVersion;
UCHAR MinorVersion;
UCHAR SubVersion;
UCHAR SubMinorVersion;
} VersionDetail;
} DUMMYUNIONNAME;
ULONG ProviderVersion;
ULONG NumberOfProcessors;
LARGE_INTEGER EndTime;
ULONG TimerResolution;
ULONG MaximumFileSize;
ULONG LogFileMode;
ULONG BuffersWritten;
union {
GUID LogInstanceGuid;
struct {
ULONG StartBuffers;
ULONG PointerSize;
ULONG EventsLost;
ULONG CpuSpeedInMHz;
} DUMMYSTRUCTNAME;
} DUMMYUNIONNAME2;
#if ...
PWCHAR LoggerName;
#if ...
PWCHAR LogFileName;
#if ...
RTL_TIME_ZONE_INFORMATION TimeZone;
#else
LPWSTR LoggerName;
#endif
#else
LPWSTR LogFileName;
#endif
#else
TIME_ZONE_INFORMATION TimeZone;
#endif
LARGE_INTEGER BootTime;
LARGE_INTEGER PerfFreq;
LARGE_INTEGER StartTime;
ULONG ReservedFlags;
ULONG BuffersLost;
} TRACE_LOGFILE_HEADER, *PTRACE_LOGFILE_HEADER;
成員
BufferSize
事件追蹤會話緩衝區的大小,以位元組為單位。
DUMMYUNIONNAME
DUMMYUNIONNAME.Version
收集追蹤的作業系統版本號碼。 這是 VersionDetail成員的匯總。 從低序位元組開始,前兩個位元組包含 MajorVersion、下兩個位元組包含 MinorVersion、下一個兩個位元組包含 SubVersion,最後兩個位元組包含 SubMinorVersion。
DUMMYUNIONNAME.VersionDetail
DUMMYUNIONNAME.VersionDetail.MajorVersion
收集追蹤之作業系統的主要版本號碼。
DUMMYUNIONNAME.VersionDetail.MinorVersion
收集追蹤的作業系統次要版本號碼。
DUMMYUNIONNAME.VersionDetail.SubVersion
保留的。
DUMMYUNIONNAME.VersionDetail.SubMinorVersion
保留的。
ProviderVersion
收集追蹤的作業系統組建編號。
NumberOfProcessors
收集追蹤之系統上的處理器數目。
EndTime
事件追蹤會話停止的時間,自 1601 年 1 月 1 日午夜起,以 100 奈秒的間隔為單位。 如果您要即時取用事件,或從未完成的記錄檔 (,也就是未正確關閉) ,此值可能是 0。
TimerResolution
硬體計時器解析度,單位為 100 奈秒。 如需使用方式,請參閱 EVENT_TRACE_HEADER的。
MaximumFileSize
記錄檔的大小上限,以 MB 為單位。
LogFileMode
事件追蹤會話的記錄模式。 如需值清單,請參閱 記錄模式常數。
BuffersWritten
事件追蹤會話所寫入的緩衝區總數。
DUMMYUNIONNAME2
DUMMYUNIONNAME2.LogInstanceGuid
保留的。
DUMMYUNIONNAME2.DUMMYSTRUCTNAME
DUMMYUNIONNAME2.DUMMYSTRUCTNAME.StartBuffers
保留的。
DUMMYUNIONNAME2.DUMMYSTRUCTNAME.PointerSize
指標資料類型的預設大小,以位元組為單位。
DUMMYUNIONNAME2.DUMMYSTRUCTNAME.EventsLost
事件追蹤會話期間遺失的事件數目。 事件主要是因為配置給追蹤記錄會話的記憶體不足,或傳入事件率非常高而遺失。
DUMMYUNIONNAME2.DUMMYSTRUCTNAME.CpuSpeedInMHz
收集追蹤的系統 CPU 速度,以 MB 為單位。
Windows 2000: 不支援這個成員。
LoggerName
請勿使用此欄位。
事件追蹤會話的名稱是記憶體中這個結構後面的第一個以 Null 結尾的字串。
LogFileName
請勿使用此欄位。
事件追蹤記錄檔的名稱是記憶體中這個結構後面的第二個以 Null 結尾的字串。 第一個字串是會話的名稱。
TimeZone
包含BootTime、EndTime和StartTime成員時區的TIME_ZONE_INFORMATION結構。
BootTime
系統啟動的時間,從 1601 年 1 月 1 日午夜起的 100 奈秒間隔。 只有寫入全域記錄器會話的追蹤才支援BootTime。
PerfFreq
如果存在,則為高解析度效能計數器的頻率。
StartTime
事件追蹤會話啟動的時間,從 1601 年 1 月 1 日午夜起,以 100 奈秒的間隔為單位。
ReservedFlags
指定時鐘類型。 如需詳細資訊,請參閱WNODE_HEADER的ClientCoNtext成員。
BuffersLost
事件追蹤會話期間遺失的緩衝區總數。
備註
設定任何成員之前,請務必將此結構的記憶體初始化為零。
來自任何記錄檔的第一個事件包含此結構中所定義的資料。 您可以使用這個結構來存取事件資料,也可以使用 EventTrace_Header MOF 類別來解碼事件資料。 如果使用這個結構來讀取事件資料,如果取用者位於與產生記錄檔的電腦不同電腦,或記錄檔是在 64 位電腦上寫入 WOW (32 位) 會話,可能會傳回非預期的結果。 這是因為 LoggerName 和 LogFileName 成員是指標,而且大小可能會根據 PointerSize 成員而有所不同。
需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
標頭 | evntrace.h |