Creazione di driver miniport KMDF

Alcuni driver miniport possono usare Kernel-Mode Driver Framework, se l'architettura porta/miniport consente al driver miniport di comunicare con altri driver usando interfacce WDM o framework. Ad esempio, i driver miniport NDIS con un bordo inferiore WDM possono usare il framework per implementare il bordo inferiore.

Se si vuole che il driver miniport usi il framework, il driver deve:

  • Impostare il flag WdfDriverInitNoDispatchOverride nel membro DriverInitFlags della struttura WDF_DRIVER_CONFIG del driver prima di chiamare WdfDriverCreate. L'impostazione di questo flag consente al driver di porta, anziché al framework, di intercettare i pacchetti di richiesta di I/O che il gestore di I/O ha indirizzato al driver.

  • Chiamare WdfDeviceMiniportCreate anziché WdfDeviceCreate per creare oggetti dispositivo framework per i dispositivi del driver miniport. Il driver miniport deve chiamare WdfDeviceMiniportCreate quando il driver della porta informa che un dispositivo è disponibile.

  • Chiamare WdfObjectDelete per eliminare l'oggetto dispositivo creato da WdfDeviceMiniportCreate , quando il driver determina che il dispositivo è stato rimosso. Poiché il driver ha impostato il flag WdfDriverInitNoDispatchOverride , il framework non può determinare quando il dispositivo viene rimosso e non può eliminare l'oggetto dispositivo.

  • Chiama WdfDriverMiniportUnload quando il driver della porta informa il driver miniport che sta per essere scaricato.

Un driver miniport può usare il framework solo se il dispositivo sottostante supporta Plug and Play (PnP). I driver Miniport non possono usare gli oggetti dispositivo di controllo del framework.

Le restrizioni si applicano agli oggetti dispositivo creati dal metodo WdfDeviceMiniportCreate . Per un elenco di queste restrizioni, vedere WdfDeviceMiniportCreate.