Pengantar Objek Perangkat

Sistem operasi mewakili perangkat berdasarkan objek perangkat. Satu atau beberapa objek perangkat dikaitkan dengan setiap perangkat. Objek perangkat berfungsi sebagai target semua operasi pada perangkat.

Driver mode kernel harus membuat setidaknya satu objek perangkat untuk setiap perangkat, dengan pengecualian berikut:

  • Minidriver yang memiliki kelas atau driver port terkait tidak perlu membuat objek perangkat mereka sendiri. Driver kelas atau port membuat objek perangkat, dan mengirimkan operasi ke minidriver.

  • Driver yang merupakan bagian dari subsistem khusus jenis perangkat, seperti driver miniport NDIS, memiliki objek perangkat mereka yang dibuat oleh subsistem.

Lihat dokumentasi untuk jenis perangkat tertentu Anda untuk menentukan apakah driver Anda membuat objek perangkatnya sendiri.

Beberapa objek perangkat tidak mewakili perangkat fisik. Driver khusus perangkat lunak, yang menangani permintaan I/O tetapi tidak meneruskan permintaan tersebut ke perangkat keras, masih harus membuat objek perangkat untuk mewakili target operasinya.

Untuk informasi selengkapnya tentang bagaimana driver Anda dapat membuat objek perangkat, lihat Membuat Objek Perangkat.

Perangkat biasanya diwakili oleh beberapa objek perangkat, satu untuk setiap driver di tumpukan driver yang menangani permintaan I/O untuk perangkat. Objek perangkat untuk perangkat diatur ke dalam tumpukan perangkat. Setiap kali operasi dilakukan pada perangkat, sistem meneruskan struktur data IRP ke driver untuk objek perangkat teratas di tumpukan perangkat. Setiap driver menangani IRP atau meneruskannya ke driver yang terkait dengan objek perangkat berikutnya yang lebih rendah di tumpukan perangkat. Untuk informasi selengkapnya tentang tumpukan perangkat, lihat Contoh Tumpukan Perangkat WDM. Untuk informasi selengkapnya tentang IRP, lihat Menangani IRP.

Objek perangkat diwakili oleh struktur DEVICE_OBJECT , yang dikelola oleh manajer objek. Manajer objek menyediakan kemampuan yang sama untuk objek perangkat yang dilakukannya untuk objek sistem lainnya. Secara khusus, objek perangkat dapat diberi nama, dan objek perangkat bernama dapat memiliki handel yang dibuka di atasnya. Untuk informasi selengkapnya tentang objek perangkat bernama, lihat Objek Perangkat Bernama.

Sistem ini menyediakan penyimpanan khusus untuk setiap objek perangkat, yang disebut ekstensi perangkat, yang dapat digunakan driver untuk penyimpanan khusus perangkat. Ekstensi perangkat dibuat dan dikosongkan oleh sistem bersama dengan objek perangkat. Untuk informasi selengkapnya, lihat Ekstensi Perangkat.

Gambar berikut mengilustrasikan hubungan antara objek perangkat dan manajer I/O.

diagram yang mengilustrasikan objek perangkat.

Gambar menunjukkan anggota struktur DEVICE_OBJECT yang menarik bagi penulis driver. Untuk informasi selengkapnya tentang anggota ini, lihat Membuat Objek Perangkat, Menginisialisasi Objek Perangkat, dan Properti Objek Perangkat.