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.
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 |