次の方法で共有


FwpsReassembleForwardFragmentGroup0 関数 (fwpsk.h)

FwpsReassembleForwardFragmentGroup0 関数は、転送データ パス内の IP フラグメントの一覧を 1 つのパケットにアセンブルします。

注意FwpsReassembleForwardFragmentGroup0 は、FwpsReassembleForwardFragmentGroup 特定のバージョンです。 詳細については、「WFP Version-Independent 名の と Windows の特定のバージョンを対象とする」を参照してください。
 

構文

NTSTATUS FwpsReassembleForwardFragmentGroup0(
  [in]           ADDRESS_FAMILY  addressFamily,
  [in, out]      NET_BUFFER_LIST *fragmentGroupNblChain,
  [in, optional] NDIS_HANDLE     netBufferAndNetBufferListPoolHandle,
  [in]           ULONG           dataBackFill,
  [in]           ULONG           flags,
  [out]          NET_BUFFER_LIST **reassembledNbl
);

パラメーター

[in] addressFamily

次のいずれかのアドレス ファミリ:

AF_INET

IPv4 アドレス ファミリ。

AF_INET6

IPv6 アドレス ファミリ。

[in, out] fragmentGroupNblChain

1 つのパケットに再アセンブルする IP フラグメントの NET_BUFFER_LIST チェーンへのポインター。 このパラメーターの使用方法の詳細については、「解説」を参照してください。

[in, optional] netBufferAndNetBufferListPoolHandle

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

[in] dataBackFill

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

[in] flags

引っ込み思案。 コールアウト ドライバーでは、このパラメーターを 0 に設定する必要があります。

[out] reassembledNbl

再構成された単一ネットワーク バッファー リストのアドレスを受け取る NET_BUFFER_LIST ポインターへのポインター。

戻り値

FwpsReassembleForwardFragmentGroup0 関数は、次の NTSTATUS コードのいずれかを返します。

リターン コード 形容
STATUS_SUCCESS
IP フラグメントの一覧は、単一の NET_BUFFER_LIST 構造に正常に再構築されました。
STATUS_FWP_TCPIP_NOT_READY
TCP/IP ネットワーク スタックは、パケット再構成を実行する準備ができていません。 このエラーは、Tcpip.sys が読み込まれる前、または Tcpip.sys がアンロードされた後に、この関数が呼び出された場合に発生する可能性があります。
その他の状態コードの
エラーが発生しました。

備考

FwpsReassembleForwardFragmentGroup0 関数は、NET_BUFFER_LIST チェーンによって記述された転送データ パス内の IP フラグメントの一覧を 1 つのパケットにアセンブルします。 再構成されたパケットは、1 つのネット バッファーを含み、入力フラグメント チェーンを参照する単一のネット バッファー リストです。 この関数は、通常、ネットワーク パケットを検査するためにエッジ ファイアウォールによって使用されます。

ip フラグメントの入力チェーン (fragmentGroupNblChain ) は、classifyFn 吹き出し関数によって、FWP_CONDITION_FLAG_IS_FRAGMENT_GROUP フラグが設定されたときにFWPS_LAYER_IPFORWARD_V4またはFWPS_LAYER_IPFORWARD_V6層に示されるチェーンである必要があります。 そうでない場合、FwpsReassembleForwardFragmentGroup0 の動作は未定義です。

FwpsFreeNetBufferList0 関数を呼び出して、reassembledNbl NET_BUFFER_LIST 構造体と、関連付けられているすべての NET_BUFFER 構造体と MDL チェーンを解放します。 FwpsFreeNetBufferList0 元の入力フラグメント チェーンを逆参照します。

次のコマンドを使用すると、システムの現在の "グループ転送フラグメント" 設定を表示できます。netsh インターフェイス {ipv4|ipv6} グローバルを表示します。

fwpsReassembleForwardFragmentGroup0 は入力フラグメント チェーンを参照するため、この関数を呼び出す前に、コールアウトでチェーンを参照または複製する必要はありません。

必要条件

要件 価値
サポートされる最小クライアント Windows Server 2008 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー fwpsk.h (Fwpsk.h を含む)
ライブラリ Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

関連項目

FwpsFreeNetBufferList0

NET_BUFFER

NET_BUFFER_LIST

NET_BUFFER_LIST_POOL_PARAMETERS

NdisAllocateNetBufferListPool

classifyFn