次の方法で共有


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 ルーチンを呼び出すことによってメモリを解放する必要があります。

要件

要件
対象プラットフォーム ユニバーサル
Header storport.h (Storport.h を含む)
IRQL DISPATCH_LEVEL
DDI コンプライアンス規則 StorPortIrql(storport)

こちらもご覧ください

StorPortBuildScatterGatherList