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 返回以下状态代码之一:
返回代码 | 说明 |
---|---|
|
此函数未在活动操作系统上实现。 |
|
指示例程已成功释放散点/收集列表。 |
|
传递的 HwDeviceExtension 为 NULL。 |
|
调用是在无效 IRQL 处进行的。 |
注解
StorPortPutScatterGatherList 例程不会释放散点/收集列表的缓冲区内存,因为微型端口驱动程序分配了此内存。
StorPortPutScatterGatherList 例程返回后,微型端口驱动程序可以通过再次调用 StorPortBuildScatterGatherList 来重用缓冲区以创建新的散点/收集列表。 如果微型端口驱动程序已完成对散点/收集列表使用缓冲区,则应在 StorPortPutScatterGatherList 例程返回后释放缓冲区的内存。 如果微型端口驱动程序使用 StorPortAllocatePool 例程分配缓冲区内存,则应通过调用 StorPortFreePool 例程来释放内存。
要求
要求 | 值 |
---|---|
目标平台 | 通用 |
标头 | storport.h (包括 Storport.h) |
IRQL | DISPATCH_LEVEL |
DDI 符合性规则 | StorPortIrql (storport) |