Rutinitas Pengiriman yang Diperlukan

Sebagian besar driver harus menangani rutinitas Pengiriman berikut:

  • DispatchPnP

    IRP_MJ_PNP menunjukkan permintaan yang melibatkan pengenalan perangkat PnP, konfigurasi perangkat keras, atau alokasi sumber daya. Permintaan tersebut biasanya dikirim ke driver perangkat dari manajer PnP atau dari driver tingkat yang lebih tinggi yang digabungkan erat.

  • DispatchPower

    IRP_MJ_POWER menunjukkan permintaan yang berkaitan dengan status daya perangkat atau sistem. Permintaan tersebut dikirim ke driver perangkat oleh manajer daya atau driver tingkat yang lebih tinggi yang digabungkan erat.

  • DispatchCreate

    IRP_MJ_CREATE menunjukkan bahwa subsistem yang dilindungi mode pengguna, mungkin atas nama aplikasi atau driver khusus subsistem, telah meminta handel untuk objek file yang terkait dengan objek perangkat target, atau bahwa driver tingkat yang lebih tinggi menghubungkan atau melampirkan objek perangkatnya ke objek perangkat target.

  • DispatchClose

    IRP_MJ_CLOSE menunjukkan bahwa handel terakhir objek file yang terkait dengan objek perangkat target telah ditutup dan dirilis. Semua permintaan I/O telah selesai atau dibatalkan, jadi tidak ada referensi yang luar biasa ke penunjuk objek file.

  • DispatchRead

    IRP_MJ_READ menunjukkan permintaan I/O untuk mentransfer data dari perangkat fisik yang mendasar ke sistem.

  • DispatchWrite

    IRP_MJ_WRITE menunjukkan permintaan I/O untuk mentransfer data dari sistem ke perangkat fisik yang mendasar.

  • DispatchDeviceControl

    IRP_MJ_DEVICE_CONTROL menunjukkan permintaan yang berisi kode kontrol I/O khusus jenis perangkat yang ditentukan sistem yang menentukan operasi khusus jenis perangkat. Driver tingkat yang lebih tinggi meneruskan IRP ini ke driver perangkat yang mendasar, yang biasanya memproses permintaan dengan mengakses perangkat.

  • DispatchInternalDeviceControl

    IRP_MJ_INTERNAL_DEVICE_CONTROL menunjukkan permintaan yang dikirim ke driver perangkat, dalam banyak kasus dari driver tingkat yang lebih tinggi yang digabungkan erat, biasanya dengan kode kontrol I/O khusus driver dan khusus perangkat yang ditentukan secara privat atau khusus perangkat atau khusus perangkat yang meminta operasi khusus jenis perangkat atau khusus perangkat.

    Hanya jenis driver tertentu yang diperlukan untuk menangani permintaan kontrol I/O perangkat internal yang ditentukan sistem, termasuk driver SCSI tertentu, driver perangkat keyboard atau mouse, dan driver paralel yang beroperasi dengan driver yang disediakan sistem.

  • DispatchSystemControl

    IRP_MJ_SYSTEM_CONTROL digunakan untuk menentukan permintaan WMI ke driver. Untuk informasi selengkapnya tentang WMI, lihat Instrumentasi Manajemen Windows.

Rutinitas pengiriman yang harus disediakan driver bervariasi sesuai dengan jenis dan fungsionalitas perangkat fisik yang mendasar. Untuk informasi khusus jenis perangkat tentang kode fungsi utama IRP yang harus ditangani driver, lihat dokumentasi spesifik jenis perangkat di Windows Driver Kit (WDK).