Pengelogan IRP
Fitur Pengelogan IRP Driver Verifier memantau penggunaan runtime integrasi driver dan membuat catatan penggunaan IRP. Catatan ini disimpan sebagai informasi WMI.
Windows Driver Kit (WDK) menyertakan alat DC2WMIParser (dc2wmiparser.exe) yang dapat mengonversi rekaman WMI ini menjadi file teks.
Opsi Pemverifikasi Driver ini hanya tersedia di Windows Server 2003 dan yang lebih baru.
Catatan WMI
Catatan WMI tidak akan menyertakan lebih dari dua puluh IRP untuk setiap perangkat. Setelah IRP dua puluh satu direkam, rekaman IRP pertama diganti. Jadi jika catatan mencantumkan dua puluh IRP, ini selalu yang terbaru dua puluh, tetapi tidak ada cara untuk mengetahui yang mana yang terbaru.
Karena catatan WMI disimpan dalam memori, rekaman akan dihapus ketika komputer di-boot ulang. Oleh karena itu, gunakan DC2WMIParser untuk menyimpan informasi ini ke file.
Jika Anda menggunakan opsi /t , DC2WMIParser akan berjalan terus menerus selama durasi yang ditentukan. Dalam situasi ini, rekaman dapat mencakup lebih dari dua puluh IRP per perangkat (hingga dua puluh IRP dalam setiap periode pengambilan sampel).
Mengaktifkan opsi ini
Anda dapat mengaktifkan fitur Pengelogan IRP untuk satu atau beberapa driver dengan menggunakan Driver Verifier Manager atau baris perintah Verifier.exe.
Untuk mengaktifkan fitur Pengelogan IRP, Anda juga harus mengaktifkan Verifikasi I/O.
Pada baris perintah
Pada baris perintah, opsi Pengelogan IRP diwakili oleh 0x400 (Bit 10).
Untuk mengaktifkan Pengelogan IRP, gunakan nilai bendera 0x410 atau tambahkan 0x410 ke nilai bendera. Nilai ini mengaktifkan Verifikasi I/O (0x10) dan Pengelogan IRP (0x400). Contohnya:
verifier /flags 0x410 /driver MyDriver.sys
Fitur ini akan aktif setelah boot berikutnya.
Pada Windows Vista dan versi Windows yang lebih baru, Anda juga dapat mengaktifkan dan menonaktifkan Pengelogan IRP tanpa me-reboot komputer dengan menambahkan parameter /volatile ke perintah . Contohnya:
verifier /volatile /flags 0x410 /adddriver MyDriver.sys
Pengaturan ini segera efektif, tetapi hilang ketika Anda mematikan atau me-reboot komputer. Untuk detailnya, lihat Menggunakan Pengaturan Volatil.
Menggunakan Driver Verifier Manager
- Mulai Manajer Pemverifikasi Driver. Ketik Pemverifikasi di jendela Prompt Perintah.
- Pilih Buat pengaturan kustom (untuk pengembang kode) lalu klik Berikutnya.
- Pilih Pilih pengaturan individual dari daftar lengkap.
- Pilih (centang) Pengelogan IRP dan Verifikasi I/O.
DC2WMIParser
DC2WMIParser adalah alat yang mengumpulkan catatan IRP WMI yang dibuat oleh Driver Verifier dan mengonversi log ini ke file teks.
Sintaks DC2WMIParser adalah sebagai berikut:
dc2wmiparser [/f File] [/t Time]
Parameter memiliki arti berikut:
/fArsip
Menentukan jalur lengkap dan nama file file log yang akan ditulis. Jalur relatif akan diambil relatif terhadap direktori saat ini. Jika ini dihilangkan, nama file dc2verifier.act di direktori saat ini akan digunakan.
/tWaktu
Menentukan lamanya waktu, dalam menit, DC2WMIParser akan terus berjalan. Jika Waktu sama dengan nol, DC2WMIParser akan merekam semua informasi IRP WMI yang telah disimpan oleh Driver Verifier lalu keluar. Jika Waktu diatur ke nilai positif, DC2WMIParser akan terus berjalan selama jangka waktu yang ditentukan, menyimpan informasi baru saat tiba. Defaultnya adalah nol.
Format File Log DC2WMIParser
File yang dihasilkan oleh DC2WMIParser adalah file teks ASCII.
Baris pertama file ini berisi angka desimal yang menunjukkan jumlah perangkat yang dicatat dalam file.
Setelah baris pertama, file dibagi menjadi beberapa bagian; setiap bagian menjelaskan satu perangkat.
Untuk setiap perangkat, formatnya adalah:
Pada satu baris: Nama perangkat.
Pada satu baris: Angka desimal yang menentukan berapa banyak jenis dan fungsi perangkat yang ditargetkan ke perangkat ini.
Pada satu baris untuk setiap jenis dan fungsi perangkat: Tiga angka heksadesimal, dipisahkan oleh koma. Ini mewakili jenis perangkat, dan fungsi terendah dan tertinggi yang dicatat dalam catatan ini.
Dalam satu grup baris untuk setiap jenis dan fungsi perangkat:
- Satu baris dengan angka desimal yang menentukan jumlah IOCTL untuk jenis perangkat saat ini.
- Satu baris untuk setiap IOCTL. Masing-masing baris ini berisi enam angka heksadesimal yang dipisahkan oleh koma. Ini menentukan jenis perangkat, fungsi, metode, akses, panjang buffer input, dan panjang buffer output.
Berikut adalah contoh file log DC2WMIParser. Dalam file aktual tidak akan ada spasi, komentar, atau baris kosong, tetapi ini telah ditambahkan ke contoh ini untuk membuatnya lebih jelas.
2 There are two devices described by this log file.
The first device begins here:
DP(1)0x7e00-0x21dbda400+3 Device name of the first device
2 Number of device type IOCTLs targeted at this device
7,12,12 First targeted device: device type 7, low function 12, high function 12
2d,420,420 Second targeted device: device type 2d, low function 420, high function 420
1 Number of IOCTLs for first targeted device (type 7)
7,12,0,0,90,0 Device type 7, function 12, method 0, access 0, inbuflen 90, outbuflen 0
1 Number of IOCTLs for second targeted device (type 2d)
2d,420,0,0,c,0 Device type 2d, function 420, method 0, access 0, inbuflen c, outbuflen 0
The second device begins here:
DP(1)0x7e00-0x21dbda400+2 Device name of the second device
2 Number of device type IOCTLs targeted at this device
7,12,12 First targeted device: device type 7, low function 12, high function 12
2d,420,420 Second targeted device: device type 2d, low function 420, high function 420
1 Number of IOCTLs for first targeted device (type 7)
7,12,0,0,90,0 Device type 7, function 12, method 0, access 0, inbuflen 90, outbuflen 0
1 Number of IOCTLs for second targeted device (type 2d)
2d,420,0,0,c,0 Device type 2d, function 420, method 0, access 0, inbuflen c, outbuflen 0