StorPortGetSystemAddress 例程返回指定 SCSI 请求块(SRB)的数据缓冲区的系统空间中的虚拟地址。
语法
ULONG StorPortGetSystemAddress(
[in] PVOID HwDeviceExtension,
[in] PSCSI_REQUEST_BLOCK Srb,
[out] PVOID *SystemAddress
);
参数
[in] HwDeviceExtension
指向主机总线适配器(HBA)的硬件设备扩展的指针。
[in] Srb
指向 SCSI_REQUEST_BLOCK 结构的指针。
[out] SystemAddress
用于接收数据缓冲区虚拟地址的指针。
返回值
StorPortGetSystemAddress 返回以下状态代码之一:
| 返回代码 | 描述 |
|---|---|
|
此函数未在活动作系统上实现。 |
|
指示已成功获取系统地址。 |
|
此状态代码由以下条件之一引起:
SRB 没有关联的数据缓冲区。 用于接收虚拟地址的指针 NULL。 |
|
调用在无效的 IRQL 中发出。 |
|
尝试将数据缓冲区映射到系统空间失败。 |
言论
从 Windows 8 开始,Srb 参数可能指向 SCSI_REQUEST_BLOCK 或 STORAGE_REQUEST_BLOCK。 如果 Srb函数 字段中的函数标识符 SRB_FUNCTION_STORAGE_REQUEST_BLOCK,则 SRB 是 STORAGE_REQUEST_BLOCK 请求结构。
要求
| 要求 | 价值 |
|---|---|
| 最低支持的客户端 | 此例程从 Windows Server 2003 SP2 开始可用。 |
| 目标平台 | 普遍 |
| 标头 | storport.h (包括 Storport.h) |
| IRQL | <=DISPATCH_LEVEL |
| DDI 符合性规则 | StorPortIrql(storport) |