Erstellen von KMDF-Miniporttreibern
Einige Miniporttreiber können Kernel-Mode Driver Framework verwenden, wenn die Port-/Miniportarchitektur es dem Miniporttreiber ermöglicht, mithilfe von WDM- oder Frameworkschnittstellen mit anderen Treibern zu kommunizieren. Beispielsweise können NDIS-Miniporttreiber mit einem unteren WDM-Rand das Framework verwenden, um den unteren Rand zu implementieren.
Wenn Ihr Miniporttreiber das Framework verwenden soll, muss der Treiber Folgendes ausführen:
Legen Sie das WdfDriverInitNoDispatchOverride-Flag im DriverInitFlags-Member der WDF_DRIVER_CONFIG Struktur des Treibers fest, bevor Sie WdfDriverCreate aufrufen. Durch Festlegen dieses Flags kann der Porttreiber anstelle des Frameworks E/A-Anforderungspakete (IRPs) abfangen, die der E/A-Manager an den Treiber weitergeleitet hat.
Rufen Sie WdfDeviceMiniportCreate anstelle von WdfDeviceCreate auf , um Frameworkgeräteobjekte für die Geräte des Miniporttreibers zu erstellen. Der Miniporttreiber sollte WdfDeviceMiniportCreate aufrufen, wenn sein Porttreiber ihn darüber informiert, dass ein Gerät verfügbar ist.
Rufen Sie WdfObjectDelete auf, um das von WdfDeviceMiniportCreate erstellte Geräteobjekt zu löschen, wenn der Treiber feststellt, dass das Gerät entfernt wurde. (Da der Treiber das WdfDriverInitNoDispatchOverride-Flag festgelegt hat, kann das Framework nicht ermitteln, wann das Gerät entfernt wird, und kann das Geräteobjekt nicht löschen.)
Rufen Sie WdfDriverMiniportUnload auf, wenn der Porttreiber den Miniporttreiber darüber informiert, dass er entladen werden soll.
Ein Miniporttreiber kann das Framework nur verwenden, wenn das zugrunde liegende Gerät Plug & Play (PnP) unterstützt. Miniporttreiber können die Geräteobjekte des Frameworks nicht verwenden.
Einschränkungen gelten für die Geräteobjekte, die von der WdfDeviceMiniportCreate-Methode erstellt werden. Eine Liste dieser Einschränkungen finden Sie unter WdfDeviceMiniportCreate.