Introduzione agli oggetti adapter
Qualsiasi driver che usa I/O diretto e DMA deve creare un oggetto adapter. L'oggetto adapter rappresenta un canale del controller DMA o una porta o un dispositivo master del bus.
Due tipi di driver di livello più basso devono usare oggetti adapter:
Driver per i dispositivi che usano il controller DMA di sistema. Tali dispositivi sono denominati dispositivi subordinati e vengono detti "usare il sistema (o subordinato) DMA".
Driver per i dispositivi che sono adattatori master del bus. Tali dispositivi arbitrano con il sistema per l'uso del bus di I/O e quindi usano DMA bus-master.
I driver forniscono l'archiviazione, in genere in un'estensione del dispositivo, per un puntatore all'oggetto adapter.
Per eseguire trasferimenti DMA, i driver dei dispositivi che usano uno di questi metodi DMA in genere hanno una routine AdapterControl e chiamano routine di supporto fornite dal sistema che modificano gli oggetti adattatori. I driver che non richiedono routine AdapterControl includono quelli che usano DMA a dispersione/raccolta e quelli che usano common-buffer, bus-master DMA.
Come parte delle operazioni di avvio del dispositivo, i driver che gestiscono le operazioni DMA chiamano gestione I/O, che a sua volta chiama il HAL specifico della piattaforma per creare un set di oggetti adapter. In qualsiasi piattaforma Windows, il set di oggetti adapter include in genere un oggetto adapter per:
Ogni canale o porta del controller DMA di sistema a cui è collegato un dispositivo subordinato.
Ogni dispositivo DMA master del bus nel computer.
Per i dispositivi SCSI in grado di gestire DMA master del bus, il driver della porta SCSI configura oggetti adapter per i driver miniport SCSI specifici di HBA. La routine HwScsiFindAdapter del driver miniport fornisce il driver di porta con dati specifici dell'adattatore.
Per altre informazioni su quando e su come i driver usano gli oggetti adapter e le routine AdapterControl, vedere questa Bus-Master sezione.