PEVENT_CALLBACK fungsi panggilan balik (evntrace.h)
Konsumen peristiwa ETW menerapkan panggilan balik ini untuk menerima peristiwa dari sesi pemrosesan jejak. Panggilan balik ini tidak boleh digunakan dalam kode baru. Sebagai gantinya, terapkan EventRecordCallback.
Jenis PEVENT_CALLBACK adalah penunjuk ke fungsi panggilan balik ini. EventCallback adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.
Sintaks
PEVENT_CALLBACK PeventCallback;
void PeventCallback(
[in] PEVENT_TRACE pEvent
)
{...}
Parameter
[in] pEvent
Arahkan ke struktur EVENT_TRACE yang berisi informasi peristiwa.
Nilai kembali
Tidak ada
Keterangan
Catatan
Panggilan balik ini usang karena menerima informasi yang tidak lengkap tentang peristiwa dan tidak kompatibel dengan API pembantu pendekodean peristiwa seperti TdhGetEventInformation. Alih-alih menerapkan EventCallback, terapkan EventRecordCallback.
Untuk menentukan fungsi yang dipanggil ETW untuk mengirimkan peristiwa, atur anggota EventCallback dari struktur EVENT_TRACE_LOGFILE yang Anda berikan ke fungsi OpenTrace .
Catatan
Jika fungsi EventCallback Anda menerima data yang rusak dari ProcessTrace, periksa kembali bendera yang ditentukan di ProcessTraceMode
bidang EVENT_TRACE_LOGFILE
struktur yang disediakan untuk OpenTrace. EVENT_TRACE_LOGFILE
Bidang EventCallback dan EventRecordCallback tumpang tindih dengan anggota serikat. ProcessTraceMode
Jika bidang menyertakan PROCESS_TRACE_MODE_EVENT_RECORD
bendera, ProcessTrace akan memanggil panggilan balik Anda menggunakan tanda tangan fungsi EventRecordCallback. Jika tidak, ProcessTrace akan memanggil panggilan balik Anda menggunakan tanda tangan fungsi EventCallback .
Setelah menggunakan OpenTrace untuk membuat sesi pemrosesan jejak, panggil fungsi ProcessTrace untuk mulai menerima peristiwa.
Ketika ProcessTrace mulai memproses peristiwa dari pelacakan, processTrace dapat memanggil panggilan balik Anda dengan satu atau beberapa peristiwa sintetis yang berisi data tentang jejak (metadata) daripada data dari peristiwa yang dicatat. Peristiwa sintetis ini memiliki Header.Guid yang diatur ke EventTraceGuid
dan Header.Class.Type yang diatur berdasarkan konten peristiwa sintetis. Misalnya, peristiwa pertama dari setiap file pelacakan akan menjadi peristiwa sintetis dengan jenis 0 yang berisi informasi TRACE_LOGFILE_HEADER .
Semua peristiwa lain yang Anda terima berisi data peristiwa khusus penyedia. Anda menggunakan anggota Header.Guid dan Header.Class.Typedari EVENT_TRACE untuk menentukan jenis peristiwa yang Anda terima. Dimungkinkan untuk logika pendekodean kode keras untuk jenis peristiwa terkenal, tetapi sebagian besar peristiwa akan didekodekan menggunakan informasi skema MOF yang terdaftar pada sistem di \\root\wmi
namespace layanan. Untuk informasi tentang menggunakan skema MOF peristiwa untuk menginterpretasikan peristiwa, lihat Mengonsumsi Peristiwa.
Contoh
Untuk contoh implementasi fungsi EventCallback , lihat Mengambil Data Peristiwa Menggunakan MOF.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | evntrace.h |