Fungsi QueryTraceA (evntrace.h)
Fungsi QueryTrace mengambil pengaturan properti dan statistik sesi untuk sesi pelacakan peristiwa yang ditentukan.
Fungsi ini usang. Fungsi ControlTrace menggantikan fungsi ini.
Sintaks
ULONG WMIAPI QueryTraceA(
CONTROLTRACE_ID TraceId,
LPCSTR InstanceName,
PEVENT_TRACE_PROPERTIES Properties
);
Parameter
TraceId
InstanceName
Nama sesi pelacakan peristiwa yang akan dikueri, atau NULL. Anda harus menentukan InstanceName jika TraceHandle adalah 0.
Untuk menentukan sesi NT Kernel Logger, atur InstanceName ke KERNEL_LOGGER_NAME.
Properties
Penunjuk ke struktur EVENT_TRACE_PROPERTIES yang diinisialisasi.
Anda hanya perlu mengatur anggota Wnode.BufferSize dari struktur EVENT_TRACE_PROPERTIES . Anda dapat menggunakan nama sesi maksimum (1024 karakter) dan panjang nama file log maksimum (1024 karakter) untuk menghitung ukuran buffer dan offset jika tidak diketahui.
Pada output, anggota struktur berisi pengaturan properti dan statistik sesi untuk sesi pelacakan peristiwa.
Dimulai dengan Windows 10, versi 1703: Untuk performa yang lebih baik dalam skenario lintas proses, Anda sekarang dapat meneruskan pemfilteran ke QueryTrace untuk pencatat privat luas sistem. Anda harus meneruskan struktur EVENT_TRACE_PROPERTIES_V2 baru untuk menyertakan informasi pemfilteran. Lihat Mengonfigurasi dan Memulai Sesi Pencatat Privat untuk detail selengkapnya.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan ERROR_SUCCESS.
Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan sistem. Berikut ini adalah beberapa kesalahan umum dan penyebabnya.
ERROR_BAD_LENGTH
Salah satu hal berikut ini benar:
- Anggota Properti Wnode.BufferSizemenentukan ukuran yang salah.
- Properti tidak memiliki cukup ruang yang dialokasikan untuk menyimpan salinan nama sesi dan nama file log (jika digunakan).
ERROR_INVALID_PARAMETER
Salah satu hal berikut ini benar:
- Properti adalah NULL.
- InstanceName dan TraceHandle keduanya NULL.
- InstanceName adalah NULL dan TraceHandle bukan handel yang valid.
ERROR_ACCESS_DENIED
Hanya pengguna yang berjalan dengan hak istimewa administratif yang ditingkatkan, pengguna di grup Pengguna Log Performa, dan layanan yang berjalan sebagai LocalSystem, LocalService, NetworkService yang dapat meminta sesi pelacakan peristiwa. Untuk memberi pengguna terbatas kemampuan untuk mengkueri sesi pelacakan, tambahkan mereka ke grup Pengguna Log Performa atau lihat EventAccessControl.
Windows XP dan Windows 2000: Siapa pun dapat mengontrol sesi pelacakan.
ERROR_WMI_INSTANCE_NOT_FOUND
Sesi yang diberikan tidak berjalan.
Keterangan
Pengontrol pelacakan peristiwa memanggil fungsi ini.
Fungsi ini usang. Sebagai gantinya, gunakan ControlTrace dengan ControlCode yang diatur ke EVENT_TRACE_CONTROL_QUERY.
Catatan
Header evntrace.h mendefinisikan QueryTrace sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows 2000 Server [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | evntrace.h |
Pustaka | Advapi32.lib |
DLL | Advapi32.dll |