Tipi di driver WDM

Esistono tre tipi di driver WDM: driver bus, driver di funzione e driver di filtro.

  • Un driver del bus guida un singolo dispositivo bus di I/O e offre funzionalità per slot indipendenti dal dispositivo. I driver del bus rilevano e segnalano anche i dispositivi figlio connessi al bus.
  • Un driver di funzione guida un singolo dispositivo.
  • Un driver di filtro filtra le richieste di I/O per un dispositivo, una classe di dispositivi o un bus.

In questo contesto, un bus è qualsiasi dispositivo a cui sono collegati altri dispositivi fisici, logici o virtuali; Un bus include bus tradizionali come SCSI e PCI, nonché porte parallele, porte seriali e porte i8042.

È importante che gli sviluppatori di driver comprendano i diversi tipi di driver WDM e sappiano quale tipo di driver scrivono. Ad esempio, se un driver gestisce ogni IRP Plug and Play e come gestire tali IRP dipende dal tipo di driver scritto (driver bus, driver di funzione o driver filtro).

La figura seguente illustra la relazione tra il driver dell'autobus, il driver di funzione e i driver di filtro per un dispositivo.

diagramma che illustra i possibili livelli di driver.

Ogni dispositivo ha in genere un driver bus per il bus di I/O padre, un driver di funzione per il dispositivo e zero o più driver di filtro per il dispositivo. Una progettazione del driver che richiede molti driver di filtro non produce prestazioni ottimali.

I driver nella figura precedente sono i seguenti:

  1. Un driver del bus fornisce un controller del bus, un adattatore o un bridge. I conducenti degli autobus sono obbligatori; c'è un autista di autobus per ogni tipo di autobus su un computer. Microsoft fornisce driver di autobus per gli autobus più comuni. Gli IHD e gli OEM possono fornire altri driver di autobus.

  2. Un driver di filtro bus aggiunge in genere valore a un bus e viene fornito da Microsoft o da un OEM di sistema. Per un autobus può essere presente un numero qualsiasi di driver di filtro per un autobus.

  3. I driver di filtro di livello inferiore modificano in genere il comportamento dell'hardware del dispositivo. Sono facoltativi e vengono in genere forniti da IHV. Per un dispositivo può essere presente un numero qualsiasi di driver di filtro di livello inferiore.

  4. Un driver di funzione è il driver principale per un dispositivo. Un driver di funzione viene in genere scritto dal fornitore del dispositivo ed è obbligatorio (a meno che il dispositivo non venga usato in modalità non elaborata).

  5. I driver di filtro di livello superiore forniscono in genere funzionalità a valore aggiunto per un dispositivo. Sono facoltativi e vengono in genere forniti da IHV.

Gli argomenti seguenti descrivono in dettaglio i tre tipi generali di driver WDM, driver di bus, driver di funzione, driver di filtro. È incluso anche un esempio di livelli di driver WDM che usa driver USB di esempio.

Contenuto della sezione