StorPortPutScatterGatherList 函数 (storport.h)

StorPortPutScatterGatherList 例程释放与之前通过调用 StorPortBuildScatterGatherList 例程创建的散点/收集列表关联的任何资源。

语法

ULONG StorPortPutScatterGatherList(
  [in] PVOID                     HwDeviceExtension,
  [in] PSTOR_SCATTER_GATHER_LIST ScatterGatherList,
  [in] BOOLEAN                   WriteToDevice
);

参数

[in] HwDeviceExtension

指向主机总线适配器的硬件设备扩展的指针 (HBA) 。

[in] ScatterGatherList

指向缓冲区的指针,该缓冲区包含先前通过调用 StorPortBuildScatterGatherList 例程创建的散点/收集列表。

[in] WriteToDevice

一个 值,该值指示已完成的 DMA 传输的方向。 值为 TRUE 表示从数据缓冲区传输到设备, FALSE 表示从设备传输到数据缓冲区。

返回值

StorPortPutScatterGatherList 返回以下状态代码之一:

返回代码 说明
STOR_STATUS_NOT_IMPLEMENTED
此函数未在活动操作系统上实现。
STOR_STATUS_SUCCESS
指示例程已成功释放散点/收集列表。
STOR_STATUS_INVALID_PARAMETER
传递的 HwDeviceExtensionNULL
STOR_STATUS_INVALID_IRQL
调用是在无效 IRQL 处进行的。

注解

StorPortPutScatterGatherList 例程不会释放散点/收集列表的缓冲区内存,因为微型端口驱动程序分配了此内存。

StorPortPutScatterGatherList 例程返回后,微型端口驱动程序可以通过再次调用 StorPortBuildScatterGatherList 来重用缓冲区以创建新的散点/收集列表。 如果微型端口驱动程序已完成对散点/收集列表使用缓冲区,则应在 StorPortPutScatterGatherList 例程返回后释放缓冲区的内存。 如果微型端口驱动程序使用 StorPortAllocatePool 例程分配缓冲区内存,则应通过调用 StorPortFreePool 例程来释放内存。

要求

要求
目标平台 通用
标头 storport.h (包括 Storport.h)
IRQL DISPATCH_LEVEL
DDI 符合性规则 StorPortIrql (storport)

另请参阅

StorPortBuildScatterGatherList