структура EVENT_HEADER (evntcons.h)
Определяет сведения о событии.
Синтаксис
typedef struct _EVENT_HEADER {
USHORT Size;
USHORT HeaderType;
USHORT Flags;
USHORT EventProperty;
ULONG ThreadId;
ULONG ProcessId;
LARGE_INTEGER TimeStamp;
GUID ProviderId;
EVENT_DESCRIPTOR EventDescriptor;
union {
struct {
ULONG KernelTime;
ULONG UserTime;
} DUMMYSTRUCTNAME;
ULONG64 ProcessorTime;
} DUMMYUNIONNAME;
GUID ActivityId;
} EVENT_HEADER, *PEVENT_HEADER;
Члены
Size
Размер записи события в байтах.
HeaderType
Зарезервировано.
Flags
Флаги, предоставляющие сведения о событии, например тип сеанса, в котором оно было зарегистрировано, и содержит ли событие расширенные данные. Этот элемент может содержать один или несколько из следующих флагов.
Значение | Значение |
---|---|
|
Элемент ExtendedDataEVENT_RECORD содержит данные. |
|
Событие было зарегистрировано в закрытом сеансе. Используйте ProcessorTime для затраченного времени выполнения. |
|
Данные события являются строкой Юникода, заканчивающейся null. Манифест не требуется для анализа элемента UserDataEVENT_RECORD. |
|
Поставщик использовал TraceMessage или TraceMessageVa для регистрации события. Большинство поставщиков не используют эти функции для записи событий, поэтому этот флаг обычно указывает, что событие было записано препроцессором трассировки программного обеспечения Windows (WPP). |
|
Используйте ProcessorTime для затраченного времени выполнения. |
|
Указывает, что поставщик был запущен на 32-разрядном компьютере или в сеансе WOW64. |
|
Указывает, что поставщик был запущен на 64-разрядном компьютере. |
|
Указывает, что поставщик использовал TraceEvent для регистрации события. |
EventProperty
Указывает источник, используемый для анализа данных события.
ThreadId
Указывает поток, создавший событие.
ProcessId
Указывает процесс, создавший событие.
TimeStamp
Содержит время возникновения события. Разрешение равно системному времени, если элемент ProcessTraceModeEVENT_TRACE_LOGFILE не содержит флаг PROCESS_TRACE_MODE_RAW_TIMESTAMP. В этом случае разрешение зависит от значения элемента Wnode.ClientContextEVENT_TRACE_PROPERTIES на момент создания сеанса контроллером.
ProviderId
GUID, который уникально идентифицирует поставщика, который зарегистрировал событие.
EventDescriptor
Определяет сведения о событии, такие как идентификатор события и уровень серьезности. Дополнительные сведения см. в разделе EVENT_DESCRIPTOR.
DUMMYUNIONNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME
DUMMYUNIONNAME.DUMMYSTRUCTNAME.KernelTime
Затраченное время выполнения инструкций в режиме ядра в единицах времени ЦП. Если вы используете частный сеанс, используйте значение в элементе ProcessorTime . Дополнительные сведения см. в подразделе "Примечания".
DUMMYUNIONNAME.DUMMYSTRUCTNAME.UserTime
Затраченное время выполнения инструкций в пользовательском режиме в единицах времени ЦП. Если вы используете частный сеанс, используйте значение в элементе ProcessorTime . Дополнительные сведения см. в подразделе "Примечания".
DUMMYUNIONNAME.ProcessorTime
Для частных сеансов затраченное время выполнения инструкций в пользовательском режиме в тактах ЦП.
ActivityId
Идентификатор, связанный с двумя событиями. Дополнительные сведения см. в разделе EventWriteTransfer.
Комментарии
С помощью элементов KernelTime и UserTime можно определить затраты на ЦП в единицах для набора инструкций (значения указывают использование ЦП, взимаемое с этого потока во время ведения журнала). Например, если события A и B последовательно регистрируются в одном потоке и имеют номера использования ЦП 150 и 175, то действие, выполненное этим потоком между событиями A и B, стоит 25 единиц времени ЦП (175–150).
TimerResolutionструктуры TRACE_LOGFILE_HEADER содержит разрешение таймера использования ЦП в 100-наносекундных единицах. Разрешение таймера можно использовать с значениями времени ядра и пользовательского времени, чтобы определить время ЦП, используемое набором инструкций. Например, если разрешение таймера равно 156 250, то 25 единиц времени ЦП — 0,39 секунды (156 250 * 25 * 100 / 1 000 000 000). Это количество времени ЦП (не затраченное настенное время), используемое набором инструкций между событиями A и B.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Верхняя часть | evntcons.h (включая Evntcons.h) |