Função ScsiPortIoMapTransfer (srb.h)

A rotina ScsiPortIoMapTransfer configura o controlador de DMA do sistema para que um driver de miniporto transfira dados por meio de um HBA subordinado.

Nota O driver de porta SCSI e os modelos de driver de miniporta SCSI podem ser alterados ou indisponíveis no futuro. Em vez disso, recomendamos usar os modelos de driver storport e driver de miniporto Storport .
 

Sintaxe

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

Parâmetros

[in] HwDeviceExtension

Ponteiro para a extensão do dispositivo de hardware. Essa é uma área de armazenamento por HBA que o driver de porta aloca e inicializa em nome do driver de miniporto. Os drivers de miniporta geralmente armazenam informações específicas do HBA nessa extensão, como o estado do HBA e os intervalos de acesso mapeados do HBA. Essa área está disponível para o driver de miniporto no membro DeviceExtension-HwDeviceExtension> do objeto de dispositivo do HBA imediatamente após o driver de miniporto chamar ScsiPortInitialize. O driver de porta libera essa memória quando remove o dispositivo.

[in] Srb

Ponteiro para o bloco de solicitação SCSI para a transferência de DMA.

[in] LogicalAddress

Especifica o endereço inicial da operação de transferência. Esse valor pode ser o endereço base de um buffer para o qual ou de onde os dados devem ser transferidos. Esse valor pode ser um deslocamento dentro desse buffer.

[in] Length

Especifica o número de bytes a serem transferidos.

Retornar valor

Nenhum

Comentários

Somente drivers de miniporta de HBAs que usam um DMA (controlador DMA subordinado) do sistema chamam ScsiPortIoMapTransfer. Essa rotina deve ser chamada antes que esse driver de miniporta configure seu HBA para transferir dados. O intervalo especificado por LogicalAddress e Length deve estar dentro do buffer descrito pelo SRB fornecido.

Depois que o driver de porta específico do sistema operacional programa o controlador DMA do sistema, ele chama a rotina HwScsiDmaStarted do driver de miniport. HwScsiDmaStarted deve programar o HBA para iniciar a transferência de dados. Observe que um HBA pode interromper entre a chamada do driver de miniporto para ScsiPortIoMapTransfer e a chamada do driver de porta específico do sistema operacional para a rotina HwScsiDmaStarted do driver de miniport.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho srb.h (inclua Miniport.h, Scsi.h)
Biblioteca Scsiport.lib

Confira também

HwScsiDmaStarted

ScsiPortFlushDma