Membuat Driver KmDF Miniport

Beberapa driver miniport dapat menggunakan Kernel-Mode Driver Framework, jika arsitektur port/miniport memungkinkan driver miniport untuk berkomunikasi dengan driver lain dengan menggunakan WDM atau antarmuka kerangka kerja. Misalnya, driver miniport NDIS dengan tepi bawah WDM dapat menggunakan kerangka kerja untuk mengimplementasikan tepi bawah.

Jika Anda ingin driver miniport Anda menggunakan kerangka kerja, driver harus:

  • Atur bendera WdfDriverInitNoDispatchOverride di anggota DriverInitFlags dari struktur WDF_DRIVER_CONFIG driver sebelum memanggil WdfDriverCreate. Mengatur bendera ini memungkinkan driver port, alih-alih kerangka kerja, untuk mencegat paket permintaan I/O (IRP) yang telah diarahkan manajer I/O ke driver.

  • Panggil WdfDeviceMiniportCreate alih-alih WdfDeviceCreate untuk membuat objek perangkat kerangka kerja untuk perangkat driver miniport. Driver miniport harus memanggil WdfDeviceMiniportCreate ketika driver port menginformasikan bahwa perangkat tersedia.

  • Panggil WdfObjectDelete untuk menghapus objek perangkat yang dibuat WdfDeviceMiniportCreate , ketika driver menentukan bahwa perangkat telah dihapus. (Karena driver telah mengatur bendera WdfDriverInitNoDispatchOverride , kerangka kerja tidak dapat menentukan kapan perangkat dihapus dan tidak dapat menghapus objek perangkat.)

  • Panggil WdfDriverMiniportUnload ketika driver port memberi tahu driver miniport bahwa itu akan dibongkar.

Driver miniport hanya dapat menggunakan kerangka kerja jika perangkat yang mendasar mendukung Plug and Play (PnP). Driver Miniport tidak dapat menggunakan objek perangkat kontrol kerangka kerja.

Pembatasan berlaku untuk objek perangkat yang dibuat oleh metode WdfDeviceMiniportCreate . Untuk daftar pembatasan ini, lihat WdfDeviceMiniportCreate.