FwpsCloneStreamData0 関数 (fwpsk.h)
FwpsCloneStreamData0 関数は、既存のFWPS_STREAM_DATA0 データ ストリームの複製を割り当てます。
構文
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 コードを返します。
リターン コード | 説明 |
---|---|
|
複製 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 |