StorPortGetPfns 函数 (storport.h)
微型端口可以调用 StorPortGetPfns 来检索与 SRB 关联的指定 MDL(内存描述符列表)描述的内存的页面帧编号(Pfns)。
语法
ULONG StorPortGetPfns(
[in] PVOID HwDeviceExtension,
[in] PSCSI_REQUEST_BLOCK Srb,
[in] PVOID Mdl,
[out] PVOID *Pfns,
[out] ULONG *PfnCount,
[out] ULONG *StartingOffset
);
参数
[in] HwDeviceExtension
指向硬件设备扩展的指针。 这是端口驱动程序代表微型端口驱动程序分配和初始化的每个 HBA 存储区域。
微型端口驱动程序通常在此扩展中存储特定于 HBA 的信息,例如 HBA 的状态和 HBA 的映射访问范围。 在微型端口驱动程序调用
[in] Srb
指向源 SCSI 请求块(SRB)的指针。 从 Windows 8 开始,Srb 参数可以指向 SCSI_REQUEST_BLOCK 或 STORAGE_REQUEST_BLOCK。
[in] Mdl
指向请求其 Pfns 的 MDL 的指针。 仅支持使用 StorPortGetOriginalMdl 或 StorPortGetDataInBufferMdl 获取的 MDL。
[out] Pfns
指向与 MDL 关联的 Pfns 数组的指针。 调用方不得修改、更新或释放列表。
[out] PfnCount
Pfns 指向的数组中的 Pfns 数。
[out] StartingOffset
指定给定 MDL 描述的缓冲区的初始页中的字节偏移量。
返回值
StorPortGetPfns 返回以下状态代码之一:
返回代码 | 描述 |
---|---|
STOR_STATUS_NOT_IMPLEMENTED | 此函数未在活动操作系统上实现。 |
STOR_STATUS_SUCCESS | 函数成功完成。 |
STOR_STATUS_INVALID_PARAMETER | 指向其中一个参数的指针 NULL。 |
要求
要求 | 价值 |
---|---|
目标平台 | 普遍 |
标头 | storport.h |