Função ScsiPortIoMapTransfer (srb.h)
A rotina ScsiPortIoMapTransfer configura o controlador DMA do sistema para um driver de miniporto transferir 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 miniporto 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 DeviceExtension->HwDeviceExtension membro 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 a partir do qual 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.
Valor de retorno
Nenhum
Observações
Somente drivers de miniport de HBAs que usam uma chamada de controlador DMA do sistema (DMA subordinada) ScsiPortIoMapTransfer. Essa rotina deve ser chamada antes que um driver de miniporto configure seu HBA para transferir dados. O intervalo especificado pelo 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 de 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 de do driver de miniporto HwScsiDmaStarted.
Requisitos
Requisito | Valor |
---|---|
da Plataforma de Destino | Área de trabalho |
cabeçalho | srb.h (inclua Miniport.h, Scsi.h) |
biblioteca | Scsiport.lib |