Condividi tramite


Scegliere un modello di driver

Microsoft Windows offre un'ampia gamma di modelli di driver che è possibile usare per scrivere driver. La strategia per scegliere il modello di driver migliore dipende dal tipo di driver che si prevede di scrivere. Ecco le opzioni seguenti:

  • Driver di funzione del dispositivo
  • Driver di filtro del dispositivo
  • Driver software
  • Driver filtro file system
  • Driver del file system

Per una discussione sulle differenze tra i vari tipi di driver, vedere Che cos'è un driver? e Nodi dispositivo e stack di dispositivi. Le sezioni seguenti illustrano come scegliere un modello per ogni tipo di driver.

Scelta di un modello di driver per un driver di funzione di dispositivo

Durante la progettazione di un dispositivo hardware, una delle prime cose da considerare è se è necessario scrivere un driver di funzione. Poni le domande seguenti:

Puoi evitare di scrivere completamente un driver? Se è necessario scrivere un driver di funzione, qual è il modello di driver migliore da usare? Per rispondere a queste domande, determinare la posizione del dispositivo nell'elenco delle tecnologie descritte in Tecnologie per dispositivi e driver. Vedere la documentazione relativa a questa particolare tecnologia per determinare se è necessario scrivere un driver di funzione e per informazioni sui modelli di driver disponibili per il dispositivo.

Alcune delle singole tecnologie hanno modelli di minidriver. In un modello di minidriver, il driver di dispositivo è costituito da due parti: una che gestisce le attività generali e una che gestisce le attività specifiche del dispositivo. In genere, Microsoft scrive la parte generale e il produttore del dispositivo scrive la parte specifica del dispositivo. Le parti specifiche del dispositivo hanno una varietà di nomi, la maggior parte dei quali condividono il prefisso mini. Ecco alcuni dei nomi usati nei modelli di minidriver:

  • Visualizzare il driver miniport
  • Driver miniport audio
  • Driver miniclasse batteria
  • Driver del protocollo Bluetooth
  • Minidriver HID
  • Minidriver WIA
  • Driver miniport NDIS
  • Driver miniport di archiviazione
  • Minidriver di streaming

Per una panoramica dei modelli di minidriver, vedere Minidriver e coppie di driver.

Non tutte le tecnologie elencate in Tecnologie di dispositivo e driver hanno un modello di minidriver dedicato. La documentazione per una particolare tecnologia potrebbe consigliare di usare Kernel-Mode Driver Framework (KMDF). La documentazione per un'altra tecnologia potrebbe consigliare di usare User-Mode Driver Framework (UMDF).The documentation for a particular technology might advise you to use the User-Mode Driver Framework (UMDF). Il punto chiave è che è necessario iniziare studiando la documentazione per la tecnologia del dispositivo specifica. Se la tecnologia del dispositivo ha un modello di minidriver, è necessario usare il modello di minidriver. In caso contrario, seguire i consigli nella documentazione specifica della tecnologia su se usare UMDF, KMDF o Windows Driver Model (WDM).

Scelta di un modello di driver per un driver di filtro del dispositivo

Spesso diversi driver partecipano a una singola richiesta di I/O ,ad esempio la lettura dei dati da un dispositivo. I driver sono a livelli in uno stack e il modo convenzionale per visualizzare lo stack è con il primo driver in alto e l'ultimo driver nella parte inferiore. Lo stack ha un driver di funzione e può anche avere driver di filtro. Per una discussione sui driver di funzione e sui driver di filtro, vedere Che cos'è un driver? e Nodi del dispositivo e stack di dispositivi.

Se si sta preparando a scrivere un driver di filtro per un dispositivo, determinare dove il dispositivo rientra nell'elenco delle tecnologie descritte in Tecnologie per dispositivi e driver. Verificare se la documentazione relativa alla tecnologia del dispositivo specifica include indicazioni sulla scelta di un modello di driver di filtro. Se la documentazione per la tecnologia del dispositivo non offre queste indicazioni, valutare prima di tutto l'uso di UMDF come modello di driver. Se il driver di filtro deve accedere alle strutture di dati non disponibili tramite UMDF, prendere in considerazione l'uso di KMDF come modello di driver. Nel raro caso in cui il driver debba accedere alle strutture di dati non disponibili tramite KMDF, usare WDM come modello di driver.

Scelta di un modello di driver per un driver software

Un driver non associato a un dispositivo è denominato driver software. Per una discussione sui driver software, vedere Che cos'è un driver?. I driver software sono utili perché possono essere eseguiti in modalità kernel, che consente loro di accedere ai dati del sistema operativo protetti. Per informazioni sulle modalità del processore, vedere Modalità utente e modalità kernel.

Per un driver software, le due opzioni sono KMDF e il modello di driver Windows NT legacy. Con KMDF e il modello Windows NT legacy, è possibile scrivere il driver senza preoccuparsi di Plug and Play (PnP) e risparmio energia. È invece possibile concentrarsi sulle attività principali del driver. Con KMDF, non è necessario preoccuparsi di PnP e alimentazione perché il framework gestisce PnP e l'alimentazione per l'utente. Con il modello Windows NT legacy, non è necessario preoccuparsi di PnP e alimentazione perché i servizi in modalità kernel operano in un ambiente completamente indipendente da PnP e risparmio energia.

È consigliabile usare KMDF, soprattutto se si ha già familiarità con esso. Se vuoi che il driver sia completamente indipendente da PnP e risparmio energia, usa il modello Windows NT legacy. Se è necessario scrivere un driver software che riconosce le transizioni di alimentazione o gli eventi PnP, non è possibile usare il modello Windows NT legacy; è necessario usare KMDF.

Nota: nel caso molto raro in cui è necessario scrivere un driver software che sia a conoscenza di eventi di alimentazione o PnP e il driver deve accedere ai dati non disponibili tramite KMDF, è necessario usare WDM.

Scelta di un modello di driver per un driver di file system

Per informazioni sulla scelta di un modello per un driver di file system, vedere Esempi di driver di file system. Si noti che i driver del file system possono essere complessi e possono richiedere conoscenze dei concetti avanzati per lo sviluppo di driver.

Scelta di un modello di driver per un driver di filtro del file system

Per informazioni sulla scelta di un modello per un driver di filtro del file system, vedere Driver minifiltro del file system e driver di filtro del file system.

Scelta di un modello di driver per un driver minifiltro del file system

Per informazioni sulla scelta di un modello per un driver minifiltro del file system, vedere Driver minifiltri del file system.

Framework driver in modalità kernel

Framework driver in modalità utente