NdisBuildScatterGatherList 関数 (ndis.h)

NdisBuildScatterGatherList 関数は、指定したパラメーターを使用して散布図/収集リストを作成します。

構文

NDIS_STATUS NdisBuildScatterGatherList(
  [in] IN NDIS_HANDLE                          NdisHandle,
  [in] IN PNDIS_SCATTER_GATHER_LIST_PARAMETERS SGListParameters
);

パラメーター

[in] NdisHandle

呼び出し元の初期化中に取得された NDIS ドライバーまたはインスタンス ハンドル。 たとえば、ミニポート ドライバーは、 から取得した NDIS ハンドルを使用できます。 NdisMRegisterMiniportDriver または MiniportInitializeEx 関数。 他の NDIS ドライバーでは、次の関数のハンドルを使用できます。

NdisRegisterProtocolDriver

NdisOpenAdapterEx

[in] SGListParameters

へのポインター NDIS_SCATTER_GATHER_LIST_PARAMETERS 分散/収集リストを割り当てるパラメーターを指定する構造体です。

戻り値

NdisBuildScatterGatherList は、次の状態値を返すことができます。

リターン コード 説明
NDIS_STATUS_SUCCESS
操作は正常に完了しました。
NDIS_STATUS_BUFFER_TOO_SHORT
ScatterGatherListBufferSize メンバーで指定されているバッファー長が原因で、操作が失敗しました NDIS_SCATTER_GATHER_LIST_PARAMETERS 構造が短すぎます。 この場合、NDIS は ScatterGatherListBufferSizeNeeded メンバーに必要なバッファー サイズを指定しました。

注釈

NDIS ドライバーは NdisBuildScatterGatherList 関数を呼び出して、バッファーの散布/収集リストを作成します。 この関数を呼び出すには、ミニポート ドライバーはミニポート アダプター ハンドルを指定するか、プロトコル ドライバーは NDIS バインディング ハンドルを指定します。

基になるミニポート アダプターは、 を呼び出している必要があります ドライバーが NdisBuildScatterGatherList を呼び出す前の NdisMRegisterScatterGatherDma

NDIS は、 の ProcessSGListHandler メンバーで指定された NetProcessSGList 関数を呼び出します。ndisBuildScatterGatherList のコンテキスト内の構造体をNDIS_SCATTER_GATHER_LIST_PARAMETERSします。

ドライバーは、 を呼び出す必要があります。を使用して作成された散布図/収集リストを解放する NdisFreeScatterGatherList 関数 NdisBuildScatterGatherList 関数。

要件

要件
サポートされている最小のクライアント NDIS 6.20 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL = DISPATCH_LEVEL

こちらもご覧ください

FilterAttach

MiniportInitializeEx

NDIS_SCATTER_GATHER_LIST_PARAMETERS

NdisFRegisterFilterDriver

NdisMRegisterMiniportDriver

NdisMRegisterScatterGatherDma

NdisOpenAdapterEx

NdisRegisterProtocolDriver

NetProcessSGList