Makro KdPrint (wdm.h)

Makro KdPrint mengirim pesan ke debugger kernel.

KdPrint mengirim pesan hanya jika kondisi yang Anda tentukan berlaku. Info lebih lanjut di bagian di bawah ini.

Panggilan ke KdPrint memerlukan tanda kurung ganda.

Sintaks

void KdPrint(
  [in]  _x_
);

Parameter

[in] _x_

Menentukan penunjuk ke string format yang akan dicetak. String Format mendukung sebagian besar sintaks spesifikasi format gaya printf. Namun, kode format Unicode (%C, %S, %lc, %ls, %wc, %ws, dan %wZ) hanya dapat digunakan dengan IRQL = PASSIVE_LEVEL. Rutinitas KdPrint tidak mendukung tipe titik mengambang (%f, %e, %E, %g, %G, %a, atau %A).

Nilai kembali

Tidak ada

Keterangan

KdPrint identik dengan rutinitas DbgPrint dalam kode yang dikompilasi untuk konfigurasi debug. Rutinitas ini tidak berpengaruh jika dikompilasi untuk konfigurasi rilis. Hanya driver mode kernel yang dapat memanggil rutinitas KdPrint .

KdPrint mengirim pesan hanya jika kondisi tertentu berlaku. Secara khusus, ini berperilaku seperti KdPrintEx dengan komponen DEFAULT dan tingkat kepentingan pesan DPFLTR_INFO_LEVEL. Dengan kata lain, dua panggilan fungsi berikut identik:

KdPrint (( Format, arguments ))

KdPrintEx (( DPFLTR_DEFAULT_ID, DPFLTR_INFO_LEVEL, Format, arguments ))

Untuk informasi selengkapnya tentang pemfilteran pesan, komponen, dan tingkat kepentingan pesan, lihat Membaca dan Memfilter Pesan Penelusuran Kesalahan.

Terlepas dari versi Windows mana yang Anda gunakan, disarankan agar Anda menggunakan KdPrintEx alih-alih KdPrint, karena KdPrintEx memungkinkan Anda mengontrol kondisi di mana pesan dikirim.

Kecuali jika benar-benar diperlukan, Anda tidak boleh mendapatkan string dari input pengguna atau proses lain dan meneruskannya ke KdPrint. Jika Anda menggunakan string yang tidak Anda buat, Anda harus memverifikasi bahwa ini adalah string format yang valid, dan bahwa kode format cocok dengan daftar argumen dalam jenis dan kuantitas. Praktik pengkodean terbaik adalah agar semua string Format statis dan didefinisikan pada waktu kompilasi.

Tidak ada batas atas untuk ukuran string Format atau jumlah argumen. Namun, setiap panggilan tunggal ke KdPrint hanya akan mengirimkan informasi 512 byte. Ada juga batasan ukuran buffer DbgPrint . Lihat Buffer DbgPrint dan Debugger untuk detailnya.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header wdm.h (termasuk Wdm.h)
Pustaka NtosKrnl.lib (Lihat DbgPrint.)
DLL NtosKrnl.exe

Lihat juga

DbgPrint

DbgPrintEx

KdPrintEx