FWPS_INJECT_COMPLETE0 コールバック関数 (fwpsk.h)
フィルター エンジンは、netBufferList パラメーターによって記述されたパケット データが、パケット 挿入関数の 1 つに挿入されるたびに、吹き出しの completionFn 吹き出し関数を呼び出します。
構文
FWPS_INJECT_COMPLETE0 FwpsInjectComplete0;
void FwpsInjectComplete0(
[in] void *context,
[in, out] NET_BUFFER_LIST *netBufferList,
[in] BOOLEAN dispatchLevel
)
{...}
パラメーター
[in] context
コールアウト ドライバーによって呼び出 パケット 挿入関数の 1 つの completionContext パラメーターへのポインター。
[in, out] netBufferList
netBufferList パラメーターで渡されたポインターは、コールアウト ドライバーによって呼び出 パケット挿入関数の 1 つです。
[in] dispatchLevel
completionFn 吹き出し関数が呼び出される IRQL を示す値。 このパラメーターが TRUE 場合、completionFn 吹き出し関数が IRQL = DISPATCH_LEVEL で呼び出されます。 このパラメーターが FALSE 場合、IRQL < DISPATCH_LEVEL で completionFn 吹き出し関数が呼び出されます。
戻り値
何一つ
備考
FWPS_INJECT_COMPLETE0型は、次のように、completionFn 関数へのポインターとして定義されます。
typedef void (NTAPI *FWPS_INJECT_COMPLETE0) completionFn
NetBufferList が指す NET_BUFFER_LIST 構造体のメンバー 状態は、挿入操作の結果を示します。
複製または作成された NET_BUFFER_LIST 構造チェーン内のパケット データが、パケット インジェクション関数の 1 つによってネットワーク スタックに正常に挿入された後、completionFn が呼び出。
FwpsStreamInjectAsync0 関数を呼び出して NET_BUFFER_LIST 構造体のチェーンを挿入する場合、completionFn はチェーン内の各 NET_BUFFER_LIST に対して 1 回呼び出されます。そのたびに、fwpsStreamInjectAsync0 で指定されたのと同じ completionContext パラメーターを使用します。 この場合、コールアウト ドライバーの completionFn 実装は、現在指定されている NET_BUFFER_LISTを解放するために、fwpsFreeCloneNetBufferList0 呼び出す必要があります。
フィルター エンジンは、IRQL <= DISPATCH_LEVEL でコールアウトの completionFn 吹き出し関数を呼び出します。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | ウィンドウズ |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
IRQL | <= DISPATCH_LEVEL |