Condividi tramite


Conducenti di autobus

Un driver del bus fornisce servizi a un controller del bus, un adattatore o un bridge (vedere la figura Livelli driver possibili). Microsoft fornisce driver di bus per i bus più comuni, ad esempio PCI, PnpISA, SCSI e USB. Altri conducenti di autobus possono essere forniti da IHVs o OEM. I conducenti degli autobus sono driver obbligatori; c'è un autista di autobus per ogni tipo di autobus su una macchina. Un autista del bus può eseguire il servizio di più autobus se è presente più di un bus dello stesso tipo nel computer.

Le principali responsabilità di un autista di autobus sono:

  • Enumerare i dispositivi nel bus.

  • Rispondere agli IRP di Plug and Play e agli IRP di gestione dell'alimentazione.

  • Accesso multiplex all'autobus (per alcuni autobus).

  • Amministrare in modo generico i dispositivi sul bus.

I driver del bus sono essenzialmente driver di funzione che enumerano anche gli elementi figlio.

Durante l'enumerazione, un driver del bus identifica i dispositivi nel bus e crea oggetti di dispositivo per tali dispositivi. Per informazioni sugli oggetti dispositivo, vedere Oggetti dispositivo e Stack di dispositivi. Il metodo usato da un conducente del bus per identificare i dispositivi connessi dipende dal bus specifico.

Un conducente del bus esegue determinate operazioni per conto dei dispositivi sul bus, incluso l'accesso ai registri dei dispositivi per modificare fisicamente lo stato di alimentazione di un dispositivo. Ad esempio, quando il dispositivo passa alla sospensione, il driver del bus imposta i registri del dispositivo per inserire il dispositivo nello stato di alimentazione corretto del dispositivo.

Un gestore del bus non gestisce le richieste di lettura e scrittura per i dispositivi collegati al suo bus. Le richieste di lettura e scrittura a un dispositivo figlio vengono gestite dal driver di funzione del dispositivo figlio. Solo se il dispositivo figlio viene usato in modalità raw, il driver del bus padre gestisce le letture e le scritture per il dispositivo.

Poiché un driver del bus funge da driver di funzione per il controller, l'adattatore o il bridge, gestisce anche i criteri di alimentazione del dispositivo per questi componenti.

Un driver di bus può essere implementato come coppia driver/minidriver, simile al modo in cui una coppia di driver di porta/miniport SCSI guida una scheda bus host SCSI (HBA). In queste coppie di driver, il minidriver è collegato al secondo driver, ovvero una DLL.