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