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 |
---|---|
|
Anggota ExtendedDataEVENT_RECORD berisi data. |
|
Peristiwa dicatat ke sesi privat. Gunakan ProcessorTime untuk waktu eksekusi yang berlalu. |
|
Data peristiwa adalah string Unicode yang dihentikan null. Anda tidak memerlukan manifes untuk mengurai anggota UserDatadari EVENT_RECORD. |
|
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). |
|
Gunakan ProcessorTime untuk waktu eksekusi yang berlalu. |
|
Menunjukkan bahwa penyedia berjalan pada komputer 32-bit atau dalam sesi WOW64. |
|
Menunjukkan bahwa penyedia sedang berjalan pada komputer 64-bit. |
|
Menunjukkan bahwa penyedia menggunakan TraceEvent untuk mencatat peristiwa. |
EventProperty
Menunjukkan sumber yang akan digunakan 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) |