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 值為 true 表示從數據緩衝區傳送到裝置,FALSE 表示從裝置傳輸到數據緩衝區。
傳回值
StorPortPutScatterGatherList 會傳回下列其中一個狀態代碼:
傳回碼 | 描述 |
---|---|
|
此函式不會在作用中的作系統上實作。 |
|
表示例程已成功釋放散佈/收集清單。 |
|
傳遞的 HwDeviceExtensionNULL。 |
|
呼叫是在無效的 IRQL 進行。 |
言論
StorPortPutScatterGatherList 例程不會釋放散佈/收集清單的緩衝區內存,因為迷你埠驅動程式配置了此記憶體。
StorPortPutScatterGatherList 例程傳回之後,迷你埠驅動程式可以再次 呼叫 storPortBuildScatterGatherList,以重複使用緩衝區來建立新的散佈/收集清單。 如果迷你埠驅動程式已完成使用散佈/收集清單的緩衝區,它應該會在傳回 StorPortPutScatterGatherList 之後釋放緩衝區的記憶體, 例程傳回。 如果 miniport 驅動程式使用 StorPortAllocatePool 例程來配置緩衝區內存,則應該 呼叫 storPortFreePool 例程來釋放記憶體。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
標頭 | storport.h (包括 Storport.h) |
IRQL | DISPATCH_LEVEL |
DDI 合規性規則 | StorPortIrql(storport) |