Pengantar Target I/O
Topik di bagian ini menjelaskan bagaimana driver Windows Driver Frameworks (WDF) dapat meneruskan permintaan I/O atau membuat dan mengirim permintaan baru ke driver lain, yang disebut target I/O.
Ketika driver fungsi, driver filter, atau driver miniport menerima permintaan I/O, driver mungkin dapat memproses permintaan dengan sendirinya atau mungkin memerlukan bantuan driver lain. Jika driver membutuhkan bantuan, driver dapat meneruskan permintaan ke driver lain, atau dapat membuat satu atau beberapa permintaan baru dan mengirimkannya ke driver lain.
Dalam Kernel-Mode Driver Framework, target I/O mewakili objek perangkat yang merupakan target permintaan I/O. Driver fungsi, filter, atau miniport dapat menggunakan target I/O untuk mengirim permintaan I/O ke driver lain. Driver ini sering mengirim permintaan I/O mereka ke driver berikutnya yang lebih rendah di tumpukan driver. Oleh karena itu, setiap driver fungsi, filter, dan miniport berbasis kerangka kerja memiliki target I/O lokal untuk setiap perangkat, yang merupakan driver perangkat berikutnya yang lebih rendah.
Terkadang, driver harus mengirim permintaan I/O ke target yang berbeda --bagian atas tumpukan driver yang berbeda atau, jarang, beberapa driver lain dalam tumpukan driver pengirim. Oleh karena itu, kerangka kerja juga menyediakan target I/O jarak jauh, yang terdiri dari semua target I/O kecuali target I/O lokal.
Setiap target I/O diwakili oleh objek target I/O. Setiap objek target I/O terutama merupakan antrean yang mengontrol kapan permintaan dikirimkan ke objek perangkat target. Ketika driver mengirim permintaan ke target I/O, kerangka kerja menyimpan permintaan dalam antrean hingga dapat mengirimkan permintaan ke objek perangkat target.
Kerangka kerja ini mendukung target I/O umum dan target I/O khusus:
Target I/O umum dapat digunakan oleh semua driver fungsi, filter, dan miniport, tetapi tidak mendukung format data khusus perangkat.
Target I/O khusus memungkinkan driver fungsi, filter, dan miniport untuk dengan mudah mengirim permintaan I/O yang memerlukan pemformatan data khusus target khusus. Saat ini, kerangka kerja menyediakan dukungan untuk target I/O khusus berikut:
Jika kerangka kerja menyediakan target I/O khusus yang mendukung format data perangkat Anda, driver Anda harus menggunakan target I/O khusus. Jika tidak, driver harus menggunakan target I/O umum.