次の方法で共有


NdisAllocateReassembledNetBufferList 関数 (ndis/nblapi.h)

NdisAllocateReassembledNetBufferList 関数を呼び出して、フラグメント化された NET_BUFFER_LIST 構造体を再アセンブルします。

構文

NDIS_EXPORTED_ROUTINE NET_BUFFER_LIST * NdisAllocateReassembledNetBufferList(
                 NET_BUFFER_LIST *FragmentNetBufferList,
  [in, optional] NDIS_HANDLE     NetBufferAndNetBufferListPoolHandle,
  [in]           ULONG           StartOffset,
  [in]           ULONG           DataOffsetDelta,
  [in]           ULONG           DataBackFill,
  [in]           ULONG           AllocateReassembleFlags
);

パラメーター

FragmentNetBufferList

再アセンブルするNET_BUFFER_LIST構造体へのポインター。

[in, optional] NetBufferAndNetBufferListPoolHandle

から以前に返されたNET_BUFFER_LIST構造体プール ハンドルNdisAllocateNetBufferListPool 関数を します。 呼び出し元が NdisAllocateNetBufferListPool に渡 した NET_BUFFER_LIST_POOL_PARAMETERS 構造体の fAllocateNetBuffer メンバーは、TRUE に設定されている必要があり、DataSize メンバーは 0 に設定されている必要があります。 このパラメーターが NULL 場合、NDIS は内部プールを使用します。

[in] StartOffset

各ソース NET_BUFFER 構造体の先頭でスキップするデータの量。 この量は、NET_BUFFER構造体の DataOffset メンバーで指定された値に加えて行われます。

[in] DataOffsetDelta

再構築されたNET_BUFFER構造体に追加 使用されたデータ領域のバイト数。

[in] DataBackFill

未使用のデータ領域 (バックフィル領域) の割り当てが必要な場合、このパラメーターは、割り当てる DataOffsetDelta に加えて、未使用のデータ領域 バイト数を指定します。

[in] AllocateReassembleFlags

OR 操作と組み合わせることができる NDIS フラグ。 このパラメーターを 0 に設定します。 現在、この関数に対して定義されているフラグはありません。

戻り値

再アセンブル操作が成功した場合、NdisAllocateReassembledNetBufferList は再構築されたNET_BUFFER_LIST構造体を返します。 操作が失敗した場合は、null 返されます。

備考

NdisAllocateReassembledNetBufferList 、1 つの NET_BUFFER 構造体と 1 つの MDL チェーンを含む新しい NET_BUFFER_LIST 構造体を割り当て、初期化、および返します。 新しいNET_BUFFER_LIST構造体は、ドライバーが FragmentedNetBufferList で渡した、フラグメント化されたソース NET_BUFFER_LIST構造体と同じデータ記述します。 フラグメント化された各NET_BUFFER構造体の StartOffset で指定されたバイト数をスキップした後、NDIS は各フラグメント化されたNET_BUFFER構造体の残りのデータを 1 つの再構成されたNET_BUFFER構造体に連結します。 再構築されたNET_BUFFER_LIST構造体に初期構造が含まれていない NET_BUFFER_LIST_CONTEXT 構造体。

を呼び出します。NdisFreeReassembledNetBufferList 関数を して、再構成されたNET_BUFFER_LIST構造体と、関連付けられているすべてのNET_BUFFER構造体と MDL チェーンを解放します。

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム 万国
ヘッダー ndis/nblapi.h (ndis.h を含む)
ライブラリ Ndis.lib
IRQL <= DISPATCH_LEVEL
DDI コンプライアンス規則 する Irql_NetBuffer_Function(ndis), NdisAllocateReassembledNetBufferList(ndis), NdisAllocateReassembledNetBufferList_InitFail(ndis)

関連項目

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_CONTEXT

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList