Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Topik ini memberikan gambaran umum tingkat tinggi tentang objek kerangka kerja yang akan Anda gunakan untuk mengembangkan driver Kernel-Mode Driver Framework (KMDF). Kecuali jika ditunjukkan, Anda akan menggunakan objek yang sama untuk mengembangkan driver User-Mode Driver Framework (UMDF) mulai dari UMDF versi 2.
Pengandar Windows Driver Frameworks (WDF) terdiri darirutinitas DriverEntrydan serangkaian fungsi panggilan balik peristiwa yang didefinisikan oleh objek Windows Driver Framework yang digunakan driver berbasis kerangka kerja. Fungsi panggilan balik memanggil metode pada objek yang diekspor oleh kerangka. Windows Driver Kit (WDK) berisi contoh driver WDF yang menunjukkan cara menerapkan fungsi pemanggilan balik event dari suatu driver. Anda dapat mengunduh sampel ini dari Windows Dev Center - Hardware. Untuk informasi tentang sampel apa yang tersedia, lihat Sampel Driver KMDF dan Sampel Driver UMDF.
Saat Anda membuat driver WDF, Anda biasanya akan melakukan hal berikut:
Gunakan objek driver kerangka kerja untuk mewakili driver Anda.
rutin driverDriverEntry harus memanggil WdfDriverCreate untuk membuat objek driver kerangka kerja yang mewakili driver. Metode WdfDriverCreate juga mendaftarkan fungsi callback EvtDriverDeviceAdd milik driver , yang dipanggil kerangka kerja setiap kali manajer Plug and Play (PnP) melaporkan keberadaan perangkat yang didukung driver.
Gunakan objek perangkat kerangka kerja untuk mendukung PnP dan manajemen daya di driver Anda.
Semua driver harus memanggil WdfDeviceCreate untuk membuat objek perangkat kerangka kerja untuk setiap perangkat yang didukung driver. Perangkat dapat berupa perangkat keras yang dicolokkan ke komputer, atau bisa menjadi perangkat khusus perangkat lunak. Objek perangkat kerangka kerja mendukung PnP dan operasi manajemen daya, dan driver dapat mendaftarkan fungsi panggilan balik peristiwa yang memberi tahu driver ketika perangkat memasuki atau meninggalkan status kerjanya.
Untuk informasi selengkapnya tentang objek perangkat kerangka kerja, lihat Mendukung PnP dan Power Management di Driver Anda.
Gunakan objek antrean kerangka kerja dan objek permintaan kerangka kerja untuk mendukung operasi I/O di driver Anda.
Semua driver yang menerima permintaan kontrol I/O baca, tulis, atau perangkat dari aplikasi atau driver lain harus memanggil WdfIoQueueCreate untuk membuat objek antrean kerangka kerja yang mewakili antrean I/O. Biasanya, driver mendaftarkan satu atau beberapa handler permintaan untuk menangani setiap antrean I/O. Ketika manajer I/O mengirim permintaan I/O ke driver, kerangka kerja membuat objek permintaan bingkai kerja untuk permintaan tersebut, meletakkan objek permintaan dalam antrean I/O, dan memanggil salah satu penangan permintaan dari driver untuk memberi tahu driver bahwa permintaan tersedia. Pengemudi memperoleh permintaan I/O dan dapat mengantre ulang, menyelesaikan, membatalkan, atau meneruskan permintaan.
Untuk informasi selengkapnya tentang menggunakan objek antrean kerangka kerja dan objek permintaan, lihat Objek Antrean Kerangka Kerja dan Objek Permintaan Kerangka Kerja .
Gunakan objek interupsi kerangka kerja untuk menangani gangguan perangkat.
Driver yang menangani gangguan perangkat harus memanggil WdfInterruptCreate untuk membuat objek interupsi kerangka kerja untuk setiap gangguan dan mendaftarkan fungsi panggilan balik. Fungsi panggilan balik ini mengaktifkan dan menonaktifkan interupsi serta berfungsi sebagai rutinitas layanan interupsi (ISR) dan panggilan prosedur tangguhan (DPC) untuk interupsi tersebut.
Untuk informasi selengkapnya tentang objek interupsi kerangka kerja, lihat Menangani Gangguan Perangkat Keras.
Driver KMDF dapat menggunakan objek DMA enabler kerangka kerja dan objek transaksi DMA untuk menangani operasi akses memori langsung (DMA) perangkat.
Jika perangkat driver KMDF Anda mendukung operasi DMA, driver harus memanggil WdfDmaEnablerCreate untuk membuat objek pengaktif DMA dan WdfDmaTransactionBuat untuk membuat satu atau beberapa objek transaksi DMA. Objek transaksi DMA mendefinisikan fungsi panggilan balikEvtProgramDma yang memprogram perangkat keras perangkat untuk melakukan operasi DMA.
Untuk informasi selengkapnya tentang mendukung operasi DMA, lihat Menangani Operasi DMA dalam Driver berbasis Kerangka Kerja.
Gunakan objek target I/O kerangka kerja untuk mengirim permintaan I/O ke driver lain.
Untuk meneruskan permintaan I/O ke driver lain (biasanya driver lebih rendah berikutnya di tumpukan driver), driver Anda mengirimkan permintaan ke objek target I/O.
Untuk informasi selengkapnya tentang objek target I/O, lihat Menggunakan Target I/O.
Driver KMDF dapat menggunakan objek penyedia WMI kerangka kerja dan objek instans WMI untuk mendukung kemampuan Windows Management Instrumentation (WMI).
Sebagian besar driver KMDF harus mendukung WMI dan harus memanggil WdfWmiInstanceBuat untuk mendaftarkan fungsi panggilan balik yang mengirim atau menerima data WMI.
Untuk informasi selengkapnya tentang WMI, lihat Mendukung WMI dalam Driver berbasis Kerangka Kerja.
Gunakan kemampuan sinkronisasi kerangka kerja.
Semua driver harus mengetahui masalah sinkronisasi multiprosesor dan harus menggunakan teknik sinkronisasi yang disediakan kerangka kerja.
Gunakan objek dan fitur tambahan yang disediakan kerangka kerja.
Kerangka kerja menyediakan objek tambahan yang dapat digunakan driver Anda. Untuk informasi selengkapnya tentang objek ini, lihat Objek Dukungan WDF.