Поделиться через


Общие сведения об объектах адаптера

Любой драйвер, использующий прямой ввод-вывод и DMA, должен создать объект адаптера. Объект адаптера представляет либо канал контроллера DMA, либо порт, либо устройство с master шиной.

Два типа драйверов нижнего уровня должны использовать объекты адаптера:

  • Драйверы для устройств, использующих системный контроллер DMA. Такие устройства называются подчиненными устройствами и называются "системным (или подчиненным) DMA".

  • Драйверы для устройств, которые являются адаптерами master шины. Такие устройства используют систему для использования шины ввода-вывода и, таким образом, используют шину master DMA.

Драйверы предоставляют хранилище , обычно в расширении устройства, для указателя на объект адаптера.

Для выполнения передачи DMA драйверы устройств, использующих любой из этих методов DMA, обычно имеют подпрограмму AdapterControl и вызывают предоставляемые системой вспомогательные подпрограммы, которые управляют объектами адаптера. (К драйверам, которые не требуются подпрограммы AdapterControl, относятся те, которые используют точечную и сборную DMA, а также те, которые используют общий буфер, шину master DMA.)

В рамках операций запуска устройства драйверы, обрабатывающие операции DMA, вызывают диспетчер ввода-вывода, который, в свою очередь, вызывает для конкретной платформы HAL для создания набора объектов адаптера. На любой платформе Windows набор объектов адаптера обычно включает объект адаптера для:

  • Каждый канал или порт контроллера DMA системы, к которому подключено подчиненное устройство.

  • Каждая шина master устройство DMA на компьютере.

(Для устройств SCSI, поддерживающих шину master DMA, драйвер порта SCSI настраивает объекты адаптера для драйверов мини-портов SCSI, относящихся к HBA. Подпрограмма HwScsiFindAdapter драйвера мини-порта предоставляет драйверу порта данные, относящиеся к адаптеру.)

Дополнительные сведения о том, когда и как драйверы используют объекты адаптера и подпрограммы AdapterControl, см. в этом разделе, а также в разделе Использование Bus-Master DMA.

Включение повторного сопоставления DMA для драйверов устройств