Compartir a través de


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 de controlador de puerto SCSI y controlador de miniport SCSI pueden modificarse o no estar disponibles en el futuro. En su lugar, se recomienda usar el del controlador storport de y modelos de controlador de 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 miniport. Los controladores de miniportar 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 DeviceExtension->HwDeviceExtension miembro 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 dicho búfer.

[in] Length

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

Valor devuelto

Ninguno

Observaciones

Solo los controladores de miniportar 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 miniporte configure su HBA para transferir datos. El intervalo especificado por el LogicalAddress y Longitud debe estar dentro del búfer descrito por la SRB especificada.

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

Requisitos

Requisito Valor
de la plataforma de destino de Escritorio
encabezado de srb.h (include Miniport.h, Scsi.h)
biblioteca de Scsiport.lib

Consulte también

HwScsiDmaStarted

ScsiPortFlushDma