Bagikan melalui


Fungsi WmiTraceMessage (wdm.h)

Rutinitas WmiTraceMessage menambahkan pesan ke log output sesi pelacakan perangkat lunak WPP .

Sintaks

NTSTATUS WmiTraceMessage(
  [in] TRACELOGGER_HANDLE LoggerHandle,
  [in] ULONG              MessageFlags,
  [in] LPCGUID            MessageGuid,
  [in] USHORT             MessageNumber,
       ...                
);

Parameter

[in] LoggerHandle

Menentukan handel pelacakan untuk sesi pelacakan perangkat lunak.

[in] MessageFlags

Menentukan bitwise ATAU dari satu atau beberapa bendera pesan. Lihat bagian Keterangan untuk detailnya.

[in] MessageGuid

Menentukan GUID yang mengidentifikasi kelas pesan pelacakan perangkat lunak.

[in] MessageNumber

Mengidentifikasi subjenis pesan. Arti subjenis khusus untuk kelas pelacakan perangkat lunak dan penyedia.

[in] ...

Menyediakan daftar parameter pesan yang diperlukan yang menentukan sekumpulan bagian pesan. Parameter diatur sebagai urutan pasangan parameter, di mana setiap pasangan menentukan satu bagian dari pesan lengkap. Setiap pasangan parameter terdiri dari penunjuk PVOID ke data, diikuti segera oleh nilai ULONG yang menentukan panjang data. Daftar parameter harus dihentikan oleh pointer PVOID NULL diikuti oleh ULONG(0).

Nilai kembali

WmiTraceMessage mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
STATUS_SUCCESS
Operasi berhasil diselesaikan.
STATUS_INVALID_HANDLE
LoggerHandle bukan handel pelacakan perangkat lunak yang valid.
STATUS_NO_MEMORY
Memori buffer tidak cukup untuk mencatat pesan. Lihat bagian Keterangan.
Nilai NTSTATUS lainnya
Terjadi kesalahan internal.

Keterangan

Pemanggil dapat menggunakan WmiTraceMessage atau WmiTraceMessageVa untuk menambahkan pesan ke log output sesi pelacakan perangkat lunak WPP. WmiTraceMessage menyederhanakan kode pemanggil dengan menangani mekanisme daftar variabel sebelum memanggil WmiTraceMessageVa.

Penelepon dapat mengatur bendera pesan berikut:

Bendera Deskripsi
TRACE_MESSAGE_SEQUENCE Sertakan nomor urut dalam pesan. Urutan pesan hanya dapat digunakan jika diatur untuk sesi pelacakan perangkat lunak yang ditentukan oleh LoggerHandle.
TRACE_MESSAGE_GUID MessageGuid menentukan GUID yang mengidentifikasi kelas pelacakan perangkat lunak. Bendera ini harus diatur.
TRACE_MESSAGE_TIMESTAMP Sertakan stempel waktu dalam pesan.
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP Bendera ini tidak diimplementasikan dan usang. Ini tidak boleh digunakan.
TRACE_MESSAGE_SYSTEMINFO Sertakan pengidentifikasi utas (TID) dan pengidentifikasi proses (PID) dalam pesan.
 

Pesan tidak akan dicatat jika salah satu hal berikut ini benar:

  • Ukuran total, dalam byte, data pesan dan header pesan lebih besar dari ukuran buffer pesan individual yang dialokasikan untuk sesi pelacakan perangkat lunak. (Ukuran header pesan maksimum adalah 48 byte.)
  • Semua buffer pesan yang dialokasikan untuk sesi pelacakan perangkat lunak penuh.
WmiTraceMessage berjalan di IRQL pemanggil.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia di Windows XP dan versi Windows yang lebih baru.
Target Platform Universal
Header wdm.h (termasuk Wdm.h, Ntddk.h, Ntifs.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Lihat bagian Keterangan.

Lihat juga

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessageVa