Bagikan melalui


struktur EVENT_HEADER (evntcons.h)

Menentukan informasi tentang peristiwa tersebut.

Sintaks

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;

Anggota

Size

Ukuran rekaman peristiwa, dalam byte.

HeaderType

Dicadangkan.

Flags

Bendera yang menyediakan informasi tentang peristiwa seperti jenis sesi yang dicatat dan jika peristiwa berisi data yang diperluas. Anggota ini bisa berisi satu atau beberapa bendera berikut.

Nilai Makna
EVENT_HEADER_FLAG_EXTENDED_INFO
Anggota ExtendedDataEVENT_RECORD berisi data.
EVENT_HEADER_FLAG_PRIVATE_SESSION
Peristiwa dicatat ke sesi privat. Gunakan ProcessorTime untuk waktu eksekusi yang berlalu.
EVENT_HEADER_FLAG_STRING_ONLY
Data peristiwa adalah string Unicode yang dihentikan null. Anda tidak memerlukan manifes untuk mengurai anggota UserDatadari EVENT_RECORD.
EVENT_HEADER_FLAG_TRACE_MESSAGE
Penyedia menggunakan TraceMessage atau TraceMessageVa untuk mencatat peristiwa. Sebagian besar penyedia tidak menggunakan fungsi ini untuk menulis peristiwa, jadi bendera ini biasanya menunjukkan bahwa peristiwa tersebut ditulis oleh Windows Software Trace Preprocessor (WPP).
EVENT_HEADER_FLAG_NO_CPUTIME
Gunakan ProcessorTime untuk waktu eksekusi yang berlalu.
EVENT_HEADER_FLAG_32_BIT_HEADER
Menunjukkan bahwa penyedia berjalan pada komputer 32-bit atau dalam sesi WOW64.
EVENT_HEADER_FLAG_64_BIT_HEADER
Menunjukkan bahwa penyedia sedang berjalan pada komputer 64-bit.
EVENT_HEADER_FLAG_CLASSIC_HEADER
Menunjukkan bahwa penyedia menggunakan TraceEvent untuk mencatat peristiwa.

EventProperty

Menunjukkan sumber yang akan digunakan untuk mengurai data peristiwa.

Nilai Makna
EVENT_HEADER_PROPERTY_XML
Menunjukkan bahwa Anda memerlukan manifes untuk mengurai data peristiwa.
EVENT_HEADER_PROPERTY_FORWARDED_XML
Menunjukkan bahwa data peristiwa berisi dalam dirinya sendiri deskripsi XML data yang sepenuhnya dirender, sehingga Anda tidak memerlukan manifes untuk mengurai data peristiwa.
EVENT_HEADER_PROPERTY_LEGACY_EVENTLOG
Menunjukkan bahwa Anda memerlukan kelas MOF WMI untuk mengurai data peristiwa.

ThreadId

Mengidentifikasi utas yang menghasilkan peristiwa.

ProcessId

Mengidentifikasi proses yang menghasilkan peristiwa.

TimeStamp

Berisi waktu peristiwa terjadi. Resolusinya adalah waktu sistem kecuali anggota ProcessTraceModedari EVENT_TRACE_LOGFILE berisi bendera PROCESS_TRACE_MODE_RAW_TIMESTAMP, dalam hal ini resolusi tergantung pada nilai anggota Wnode.ClientContextdari EVENT_TRACE_PROPERTIES pada saat pengontrol membuat sesi.

ProviderId

GUID yang secara unik mengidentifikasi penyedia yang mencatat peristiwa.

EventDescriptor

Menentukan informasi tentang peristiwa seperti pengidentifikasi peristiwa dan tingkat keparahan. Untuk detailnya, lihat EVENT_DESCRIPTOR.

DUMMYUNIONNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME

DUMMYUNIONNAME.DUMMYSTRUCTNAME.KernelTime

Waktu eksekusi yang berlalu untuk instruksi mode kernel, dalam unit waktu CPU. Jika Anda menggunakan sesi privat, gunakan nilai di anggota ProcessorTime sebagai gantinya. Untuk informasi selengkapnya, lihat Keterangan.

DUMMYUNIONNAME.DUMMYSTRUCTNAME.UserTime

Waktu eksekusi yang berlalu untuk instruksi mode pengguna, di unit waktu CPU. Jika Anda menggunakan sesi privat, gunakan nilai di anggota ProcessorTime sebagai gantinya. Untuk informasi selengkapnya, lihat Keterangan.

DUMMYUNIONNAME.ProcessorTime

Untuk sesi privat, waktu eksekusi yang berlalu untuk instruksi mode pengguna, dalam tanda centang CPU.

ActivityId

Pengidentifikasi yang berkaitan dengan dua peristiwa. Untuk detailnya, lihat EventWriteTransfer.

Keterangan

Anda dapat menggunakan anggota KernelTime dan UserTime untuk menentukan biaya CPU dalam unit untuk serangkaian instruksi (nilai menunjukkan penggunaan CPU yang dibebankan ke utas tersebut pada saat pengelogan). Misalnya, jika Peristiwa A dan Peristiwa B secara berturut-turut dicatat oleh utas yang sama dan mereka memiliki nomor penggunaan CPU 150 dan 175, maka aktivitas yang dilakukan oleh utas tersebut antara peristiwa A dan B dikenakan biaya 25 unit waktu CPU (175 – 150).

TimerResolution dari struktur TRACE_LOGFILE_HEADER berisi resolusi timer penggunaan CPU dalam unit 100-nanodetik. Anda dapat menggunakan resolusi timer dengan waktu kernel dan nilai waktu pengguna untuk menentukan jumlah waktu CPU yang digunakan serangkaian instruksi. Misalnya, jika resolusi timer adalah 156.250, maka 25 unit waktu CPU adalah 0,39 detik (156.250 * 25 * 100 / 1.000.000.000). Ini adalah jumlah waktu CPU (waktu jam dinding tidak berlalu) yang digunakan oleh serangkaian instruksi antara peristiwa A dan B.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows Vista [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 [hanya aplikasi desktop]
Header evntcons.h (termasuk Evntcons.h)

Lihat juga

EVENT_RECORD