Compartir a través de


Introducción a los objetos de adaptador

Cualquier controlador que use E/S directa y DMA debe crear un objeto de adaptador. El objeto de adaptador representa un canal o puerto de controlador DMA o un dispositivo bus-master.

Dos tipos de controladores de nivel inferior deben usar objetos de adaptador:

  • Controladores para dispositivos que usan el controlador DMA del sistema. Estos dispositivos se denominan dispositivos subordinados y se dice que "usan DMA del sistema (o subordinado)".

  • Controladores para dispositivos que son adaptadores de bus-master. Estos dispositivos arbitran con el sistema para el uso del bus de E/S y, por tanto, usan DMA de bus maestro.

Los controladores proporcionan almacenamiento, normalmente en una extensión de dispositivo, para un puntero al objeto adaptador.

Para llevar a cabo transferencias DMA, los controladores de dispositivos que usan cualquiera de estos métodos DMA suelen tener una rutina AdapterControl y llamar a rutinas de soporte técnico proporcionadas por el sistema que manipulan objetos adaptadores. (Los controladores que no requieren rutinas AdapterControl incluyen los que usan DMA de dispersión/recopilación y los que usan DMA de buffer común y bus-master.)

Como parte de las operaciones de inicio del dispositivo, los controladores que manejan las operaciones de DMA llaman al administrador de E/S, que a su vez llama al HAL específico de la plataforma para crear un conjunto de objetos de adaptador. En cualquier plataforma de Windows, el conjunto de objetos de adaptador incluye un objeto de adaptador para:

  • Cada canal o puerto del controlador DMA del sistema al que está conectado un dispositivo subordinado.

  • Cada dispositivo DMA (bus-master) en la máquina.

El administrador de E/S y HAL funcionan conjuntamente para asignar el objeto de adaptador adecuado en función de las funcionalidades de DMA y la configuración del sistema del dispositivo.

(Para los dispositivos SCSI capaces de DMA maestro de bus, el controlador de puerto SCSI configura objetos de adaptador para controladores de miniport SCSI específicos de HBA. La rutina HwScsiFindAdapter del controlador miniporte proporciona al controlador de puerto datos específicos del adaptador).

Consulte esta sección, así como Uso de Bus-Master DMA para obtener más información sobre cuándo y cómo los controladores usan objetos de adaptador y rutinas adapterControl .

Habilitación de la reasignación de DMA para controladores de dispositivos