IRP_MJ_DEVICE_CONTROL
Setiap driver yang objek perangkatnya termasuk dalam jenis perangkat tertentu (lihat Menentukan Jenis Perangkat) diperlukan untuk mendukung permintaan ini dalam rutinitas DispatchDeviceControl , jika sekumpulan kode kontrol I/O yang ditentukan sistem (IOCTL) ada untuk jenis tersebut. Untuk informasi selengkapnya tentang IOCTL, lihat Pengantar Kode Kontrol I/O.
Driver tingkat yang lebih tinggi biasanya meneruskan permintaan ini ke driver perangkat yang mendasar. Setiap driver perangkat dalam tumpukan driver diasumsikan untuk mendukung permintaan ini, bersama dengan sekumpulan IOCTL khusus jenis perangkat, publik atau privat. Untuk informasi selengkapnya tentang IOCTL untuk jenis perangkat tertentu, lihat dokumentasi khusus jenis perangkat di Microsoft Windows Driver Kit (WDK).
Ketika Dikirim
Setiap kali setelah keberhasilan penyelesaian permintaan buat.
Parameter Input
Kode kontrol I/O terkandung di Parameters.DeviceIoControl.IoControlCode di lokasi tumpukan I/O driver IRP.
Parameter input lainnya bergantung pada nilai kode kontrol I/O. Untuk informasi selengkapnya, lihat Deskripsi Buffer untuk Kode Kontrol I/O.
Parameter Output
Parameter output bergantung pada nilai kode kontrol I/O. Untuk informasi selengkapnya, lihat Deskripsi Buffer untuk Kode Kontrol I/O.
Operasi
Driver menerima kode kontrol I/O ini karena utas mode pengguna telah disebut fungsi Microsoft Win32 DeviceIoControl , atau driver mode kernel tingkat yang lebih tinggi telah menyiapkan permintaan. Mungkin, driver mode pengguna telah disebut DeviceIoControl, melewati kode kontrol I/O yang ditentukan driver (juga disebut privat), untuk meminta dukungan khusus perangkat atau driver dari driver perangkat mode kernel yang digabungkan erat.
Pada penerimaan permintaan kontrol I/O perangkat, driver tingkat yang lebih tinggi biasanya meneruskan IRP ke driver yang lebih rendah berikutnya. Namun, ada beberapa pengecualian untuk praktik ini. Misalnya, driver kelas yang telah menyimpan informasi konfigurasi yang diperoleh dari driver port yang mendasar mungkin menyelesaikan permintaan IOCTL_XXX tertentu tanpa meneruskan IRP ke driver port yang sesuai.
Pada penerimaan permintaan kontrol I/O perangkat, driver perangkat memeriksa kode kontrol I/O untuk menentukan cara memenuhi permintaan. Untuk sebagian besar kode kontrol I/O publik, driver perangkat mentransfer sejumlah kecil data ke atau dari buffer di Irp-AssociatedIrp.SystemBuffer>.
Untuk informasi umum tentang kode kontrol I/O untuk permintaan IRP_MJ_DEVICE_CONTROL atau IRP_MJ_INTERNAL_DEVICE_CONTROL , lihat Menggunakan Kode Kontrol I/O. Lihat juga Permintaan I/O Type-Specific Perangkat.
Persyaratan
Header |
Wdm.h (termasuk Wdm.h, Ntddk.h, atau Ntifs.h) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk