Поделиться через


структура 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

Время остановки сеанса трассировки событий с интервалом в 100 наносекунд с полуночи 1 января 1601 г. Это значение может быть равно 0, если вы используете события в режиме реального времени или из файла журнала, который не был завершен (т. е. не был закрыт должным образом).

TimerResolution

Разрешение аппаратного таймера в единицах 100 наносекунд. Сведения об использовании см. в разделе Примечания для EVENT_TRACE_HEADER.

MaximumFileSize

Максимальный размер файла журнала в мегабайтах.

LogFileMode

Режим ведения журнала для сеанса трассировки событий. Список значений см. в разделе Константы режима ведения журнала.

BuffersWritten

Общее количество буферов, записанных сеансом трассировки событий.

DUMMYUNIONNAME2

DUMMYUNIONNAME2.LogInstanceGuid

Зарезервировано.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.StartBuffers

Зарезервировано.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.PointerSize

Размер типа данных указателя по умолчанию в байтах.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.EventsLost

Число событий, потерянных во время сеанса трассировки событий. События в основном теряются из-за нехватки памяти, выделенной для сеанса ведения журнала трассировки, или из-за очень высокой частоты входящих событий.

DUMMYUNIONNAME2.DUMMYSTRUCTNAME.CpuSpeedInMHz

Скорость ЦП (в мегагерцах) системы, в которой была собрана трассировка.

Windows 2000: Этот элемент не поддерживается.

LoggerName

Не используйте это поле.

Имя сеанса трассировки событий — это первая строка, завершающаяся нулевым значением, после этой структуры в памяти.

LogFileName

Не используйте это поле.

Имя файла журнала трассировки событий — это вторая строка, завершающаяся значением NULL, после этой структуры в памяти. Первая строка — это имя сеанса.

TimeZone

Структура TIME_ZONE_INFORMATION , содержащая часовой пояс для элементов BootTime, EndTime и StartTime .

BootTime

Время, когда система была запущена, в 100-наносекунд интервалы с полуночи, 1 января 1601 года. BootTime поддерживается только для трассировок, записанных в сеанс глобального средства ведения журнала.

PerfFreq

Частота счетчика производительности с высоким разрешением, если таковой существует.

StartTime

Время начала сеанса трассировки событий с интервалом в 100 наносекунд с полуночи 1 января 1601 года.

ReservedFlags

Указывает тип часов. Дополнительные сведения см. в разделе Элемент ClientContextWNODE_HEADER.

BuffersLost

Общее число буферов, потерянных во время сеанса трассировки событий.

Комментарии

Не забудьте инициализировать память для этой структуры до нуля, прежде чем задавать какие-либо члены.

Первое событие из любого файла журнала содержит данные, определенные в этой структуре. Эту структуру можно использовать для доступа к данным события или класс MOF EventTrace_Header для декодирования данных события. Использование этой структуры для чтения данных события может возвращать непредвиденные результаты, если потребитель находится на компьютере, отличном от того, который создал файл журнала, или файл журнала был записан в сеансе WOW (32-разрядный) на 64-разрядном компьютере. Это связано с тем, что элементы LoggerName и LogFileName являются указателями и могут различаться по размеру в зависимости от элемента PointerSize .

Требования

   
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть evntrace.h

См. также раздел

EVENT_TRACE_LOGFILE

LARGE_INTEGER

TIME_ZONE_INFORMATION