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
传递的 HwDeviceExtension 为 NULL
STOR_STATUS_INVALID_IRQL
调用在无效的 IRQL 中发出。

言论

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

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

要求

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

另请参阅

StorPortBuildScatterGatherList