StorPortGetSystemAddress 函数 (storport.h)

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 返回以下状态代码之一:

返回代码 说明
STOR_STATUS_NOT_IMPLEMENTED
此函数未在活动操作系统上实现。
STOR_STATUS_SUCCESS
指示已成功获取系统地址。
STOR_STATUS_INVALID_PARAMETER
此状态代码由以下条件之一引起:

SRB 没有关联的数据缓冲区。

用于接收虚拟地址的指针为 NULL

STOR_STATUS_INVALID_IRQL
调用是在无效的 IRQL 上进行的。
STOR_STATUS_INSUFFICIENT_RESOURCES
将数据缓冲区映射到系统空间的尝试失败。

注解

从 Windows 8 开始,Srb 参数可能指向 SCSI_REQUEST_BLOCKSTORAGE_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)

另请参阅

SCSI_REQUEST_BLOCK

STORAGE_REQUEST_BLOCK