ScsiPortGetVirtualAddress 函数 (srb.h)
如果物理地址是通过调用 ScsiPortGetPhysicalAddress 获取的,则 ScsiPortGetVirtualAddress 例程将返回与物理地址关联的虚拟地址。
注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序 和 Storport 微型端口 驱动程序模型。
语法
SCSIPORT_API PVOID ScsiPortGetVirtualAddress(
[in] PVOID HwDeviceExtension,
[in] SCSI_PHYSICAL_ADDRESS PhysicalAddress
);
参数
[in] HwDeviceExtension
指向硬件设备扩展的指针。 这是端口驱动程序代表微型端口驱动程序分配和初始化的每个 HBA 存储区域。 微型端口驱动程序通常在此扩展中存储特定于 HBA 的信息,例如 HBA 的状态和 HBA 的映射访问范围。 在微型端口驱动程序调用 ScsiPortInitialize 后,HBA 的设备对象的 DeviceExtension-HwDeviceExtension> 成员中,此区域可供微型端口驱动程序使用。 端口驱动程序在移除设备时释放此内存。
[in] PhysicalAddress
指定要映射的物理地址。 此值必须由 ScsiPortGetPhysicalAddress 返回,并且必须来自未缓存的设备扩展或 SRB 扩展。
返回值
ScsiPortGetVirtualAddress 返回给定输入地址的映射指针。 如果 PhysicalAddress 值无效,则返回 NULL。
注解
ScsiPortGetVirtualAddress 使用 SCSI_PHYSICAL_ADDRESS 来表示物理地址。
typedef PHYSICAL_ADDRESS SCSI_PHYSICAL_ADDRESS, *PSCSI_PHYSICAL_ADDRESS;
SCSI_PHYSICAL_ADDRESS类型是与操作系统无关的数据类型,SCSI 微型端口驱动程序使用该类型来表示物理地址或相对于总线的地址。
注意 SCSI 端口驱动程序和 SCSI 微型端口驱动程序模型将来可能会更改或不可用。 相反,我们建议使用 Storport 驱动程序 和 Storport 微型端口 驱动程序模型。
要求
要求 | 值 |
---|---|
目标平台 | 桌面 |
标头 | srb.h (包括 Miniport.h、Scsi.h) |
Library | Scsiport.lib |