FwpsReassembleForwardFragmentGroup0 関数 (fwpsk.h)
FwpsReassembleForwardFragmentGroup0 関数は、転送データ パス内の IP フラグメントの一覧を 1 つのパケットにアセンブルします。
構文
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 コードのいずれかを返します。
リターン コード | 形容 |
---|---|
|
IP フラグメントの一覧は、単一の NET_BUFFER_LIST 構造に正常に再構築されました。 |
|
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 |
関連項目
NET_BUFFER_LIST_POOL_PARAMETERS
NdisAllocateNetBufferListPool の