Función ScsiPortGetVirtualAddress (srb.h)
La rutina ScsiPortGetVirtualAddress devuelve una dirección virtual asociada a una dirección física si la dirección física se obtuvo mediante una llamada a ScsiPortGetPhysicalAddress.
Sintaxis
SCSIPORT_API PVOID ScsiPortGetVirtualAddress(
[in] PVOID HwDeviceExtension,
[in] SCSI_PHYSICAL_ADDRESS PhysicalAddress
);
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 minipuerto. Los controladores de minipuerto 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 miembro DeviceExtension-HwDeviceExtension> 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] PhysicalAddress
Especifica la dirección física que se va a asignar. ScsiPortGetPhysicalAddress debe haber devuelto este valor y debe ser de una extensión de dispositivo sin almacenar en caché o de SRB.
Valor devuelto
ScsiPortGetVirtualAddress devuelve un puntero asignado para la dirección de entrada especificada. Si el valor PhysicalAddress no es válido, devuelve NULL.
Comentarios
ScsiPortGetVirtualAddress usa SCSI_PHYSICAL_ADDRESS para representar direcciones físicas.
typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
El tipo SCSI_PHYSICAL_ADDRESS es un tipo de datos independiente del sistema operativo que usan los controladores de miniporte SCSI para representar direcciones físicas o una dirección relativa al bus.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | srb.h (incluya Miniport.h, Scsi.h) |
Library | Scsiport.lib |