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 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
ライブラリ | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |