Bagikan melalui


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

DispatchDeviceControl