次の方法で共有


NdisAllocateReassembledNetBufferList 関数 (ndis/nblapi.h)

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

構文

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 構造体。

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

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム ユニバーサル
Header ndis/nblapi.h (ndis.h を含む)
Library 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