Función ScsiPortIoMapTransfer (srb.h)

La rutina ScsiPortIoMapTransfer configura el controlador DMA del sistema para que un controlador de miniporte transfiera datos a través de un HBA subordinado.

Nota Los modelos del controlador de puerto SCSI y del controlador de miniporte SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el controlador Storport y los modelos de controlador de miniport storport .
 

Sintaxis

SCSIPORT_API VOID ScsiPortIoMapTransfer(
  [in] PVOID               HwDeviceExtension,
  [in] PSCSI_REQUEST_BLOCK Srb,
  [in] PVOID               LogicalAddress,
  [in] ULONG               Length
);

Parámetros

[in] HwDeviceExtension

Puntero a la extensión de dispositivo de hardware. Se trata de un área de almacenamiento por HBA que el controlador de puerto asigna e inicializa en nombre del controlador de minipuerto. Los controladores de minipuerto suelen almacenar información específica de HBA en esta extensión, como el estado del HBA y los intervalos de acceso asignados del HBA. Esta área está disponible para el controlador de miniport en el miembro DeviceExtension-HwDeviceExtension> del objeto de dispositivo del HBA inmediatamente después de que el controlador de miniporte llame a ScsiPortInitialize. El controlador de puerto libera esta memoria cuando quita el dispositivo.

[in] Srb

Puntero al bloque de solicitud SCSI para la transferencia DMA.

[in] LogicalAddress

Especifica la dirección inicial de la operación de transferencia. Este valor puede ser la dirección base de un búfer en el que o desde qué datos se van a transferir. Este valor puede ser un desplazamiento dentro de este búfer.

[in] Length

Especifica el número de bytes que se van a transferir.

Valor devuelto

None

Observaciones

Solo los controladores de miniporte de HBA que usan un controlador DMA del sistema (DMA subordinado) llaman a ScsiPortIoMapTransfer. Se debe llamar a esta rutina antes de que un controlador de minipuerto configure su HBA para transferir datos. El intervalo especificado por LogicalAddress y Length debe estar dentro del búfer descrito por el SRB especificado.

Después de que el controlador de puerto específico del sistema operativo programa el controlador DMA del sistema, llama a la rutina HwScsiDmaStarted del controlador de miniporte. HwScsiDmaStarted debe programar el HBA para iniciar la transferencia de datos. Tenga en cuenta que un HBA puede interrumpirse entre la llamada del controlador de miniporte a ScsiPortIoMapTransfer y la llamada del controlador de puerto específico del sistema operativo a la rutina HwScsiDmaStarted del controlador de miniportador.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado srb.h (incluya Miniport.h, Scsi.h)
Library Scsiport.lib

Consulte también

HwScsiDmaStarted

ScsiPortFlushDma