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_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool NdisFreeReassembledNetBufferList