Função ScsiPortGetVirtualAddress (srb.h)
A rotina ScsiPortGetVirtualAddress retornará um endereço virtual associado a um endereço físico se o endereço físico tiver sido obtido por uma chamada para ScsiPortGetPhysicalAddress.
Sintaxe
SCSIPORT_API PVOID ScsiPortGetVirtualAddress(
[in] PVOID HwDeviceExtension,
[in] SCSI_PHYSICAL_ADDRESS PhysicalAddress
);
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] PhysicalAddress
Especifica o endereço físico a ser mapeado. Esse valor deve ter sido retornado por ScsiPortGetPhysicalAddress e deve ser de uma extensão de dispositivo não armazenado em cache ou extensão SRB.
Retornar valor
ScsiPortGetVirtualAddress retorna um ponteiro mapeado para o endereço de entrada fornecido. Se o valor PhysicalAddress for inválido, ele retornará NULL.
Comentários
ScsiPortGetVirtualAddress usa SCSI_PHYSICAL_ADDRESS para representar endereços físicos.
typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
O tipo SCSI_PHYSICAL_ADDRESS é um tipo de dados independente do sistema operacional que os drivers de miniporto SCSI usam para representar um endereço físico ou um endereço relativo ao barramento.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | srb.h (inclua Miniport.h, Scsi.h) |
Biblioteca | Scsiport.lib |