次の方法で共有


FwpsCloneStreamData0 関数 (fwpsk.h)

FwpsCloneStreamData0 関数は、既存のFWPS_STREAM_DATA0 データ ストリームの複製を割り当てます。

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

構文

NTSTATUS FwpsCloneStreamData0(
  [in, out]      FWPS_STREAM_DATA0 *calloutStreamData,
  [in, optional] NDIS_HANDLE       netBufferListPoolHandle,
  [in, optional] NDIS_HANDLE       netBufferPoolHandle,
  [in]           ULONG             allocateCloneFlags,
  [out]          NET_BUFFER_LIST   **netBufferListChain
);

パラメーター

[in, out] calloutStreamData

NET_BUFFER_LIST構造体を複製する元のFWPS_STREAM_DATA0構造体へのポインター。

[in, optional] netBufferListPoolHandle

NdisAllocateNetBufferListPool 関数の以前の呼び出しから取得されたNET_BUFFER_LIST プール ハンドル。 このパラメーターは省略可能であり、 NULL にすることができます

[in, optional] netBufferPoolHandle

への以前の呼び出しから取得されたNET_BUFFER プール ハンドル NdisAllocateNetBufferPool 関数。 このパラメーターは省略可能であり、 NULL にすることができます

[in] allocateCloneFlags

現在、この関数に対して定義されているフラグはありません。 コールアウト ドライバーでは、このパラメーターを 0 に設定する必要があります。

[out] netBufferListChain

複製されたすべてのストリーム データを記述する NET_BUFFER_LIST 構造体のチェーンへのポインターを受け取る場所へのポインター。

戻り値

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

リターン コード 説明
STATUS_SUCCESS
複製 FWPS_STREAM_DATA0 構造体が正常に割り当てられました。
その他の状態コード
エラーが発生しました。

解説

この複製されたストリーム データは、コールアウト ドライバーによって後で TCP/IP ネットワーク スタックに挿入できます。

FwpsCloneStreamData0 関数は、既存のFWPS_STREAM_DATA0 データ ストリーム含まれるNET_BUFFER_LIST構造体のチェーン全体複製します。 関数は、コールアウト ドライバーが複製されたチェーンを正常に に渡すことができるよう、未使用のデータをトリミングします。 FwpsStreamInjectAsync0 関数。

複製NET_BUFFER_LIST構造体チェーン内のストリーム データがネットワーク スタックに正常に挿入された後、複製NET_BUFFER_LIST構造体ごとに completionFn 吹き出し関数が呼び出され、コールアウトで FwpsFreeCloneNetBufferList0 を呼び出して、複製NET_BUFFER_LIST構造体を解放する必要があります。

複製されたストリーム データを再挿入せずに破棄する場合は、吹き出しで FwpsDiscardClonedStreamData0 関数を呼び出す必要があります。

要件

要件
サポートされている最小のクライアント Windows Vista 以降で使用できます。
対象プラットフォーム ユニバーサル
Header fwpsk.h (Fwpsk.h を含む)
Library Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

こちらもご覧ください

FWPS_STREAM_DATA0

FwpsDiscardClonedStreamData0

FwpsFreeCloneNetBufferList0

FwpsStreamInjectAsync0

NET_BUFFER

NET_BUFFER_LIST