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 速度(以兆赫为单位)。

Windows 2000: 不支持此成员。

LoggerName

请勿使用此字段。

事件跟踪会话的名称是内存中此结构之后的第一个以 null 结尾的字符串。

LogFileName

请勿使用此字段。

事件跟踪日志文件的名称是内存中此结构之后的第二个以 null 结尾的字符串。 第一个字符串是会话的名称。

TimeZone

包含 BootTime、EndTimeStartTime 成员时区的TIME_ZONE_INFORMATION结构。

BootTime

系统启动的时间,自 1601 年 1 月 1 日午夜以来的 100 纳秒间隔。 仅对写入全局记录器会话的跟踪支持 BootTime

PerfFreq

高分辨率性能计数器的频率(如果存在)。

StartTime

事件跟踪会话的开始时间,自 1601 年 1 月 1 日午夜起,间隔为 100 纳秒。

ReservedFlags

指定时钟类型。 有关详细信息,请参阅 WNODE_HEADERClientContext 成员。

BuffersLost

事件跟踪会话期间丢失的缓冲区总数。

备注

在设置任何成员之前,请务必将此结构的内存初始化为零。

任何日志文件中的第一个事件包含此结构中定义的数据。 可以使用此结构访问事件数据,也可以使用 EventTrace_Header MOF 类解码事件数据。 如果使用者位于与生成日志文件的计算机不同的计算机上,或者日志文件是在 WOW (32 位) 会话中写入的,则使用此结构读取事件数据可能会返回意外结果。 这是因为 LoggerNameLogFileName 成员是指针,大小可能因 PointerSize 成员而异。

要求

   
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
标头 evntrace.h

请参阅

EVENT_TRACE_LOGFILE

LARGE_INTEGER

TIME_ZONE_INFORMATION