FwpsQueryPacketInjectionState0 関数は、パケット データの挿入状態を照会するためにコールアウトによって呼び出されます。
構文
FWPS_PACKET_INJECTION_STATE FwpsQueryPacketInjectionState0(
[in] HANDLE injectionHandle,
[in] const NET_BUFFER_LIST *netBufferList,
[out, optional] HANDLE *injectionContext
);
パラメーター
[in] injectionHandle
への呼び出しによって以前に作成されたインジェクション ハンドルFwpsInjectionHandleCreate0 関数を します。
[in] netBufferList
分類されるパケット データを記述する NET_BUFFER_LIST 構造体へのポインター。 パケットはネットワーク スタックから送信される場合も、WFP コールアウト ドライバーによってネットワーク スタックに挿入することもできます。
[out, optional] injectionContext
挿入コンテキストへの省略可能なハンドル。 ポインターを指定し、挿入ハンドルに関連付けられているパケット挿入状態 FWPS_PACKET_INJECTION_STATE がFWPS_PACKET_INJECTED_BY_SELFまたはFWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELF場合は、パケットが挿入されたときに指定された挿入コンテキストが返されます。
戻り値
FwpsQueryPacketInjectionState0 関数は、FWPS_PACKET_INJECTION_STATE 列挙体の定数値のいずれかを返します。
備考
挿入されたパケット データは、挿入した吹き出しに対して再分類できるため、この関数を使用すると、必要に応じてパケット データの挿入履歴を調べることができます。これにより、既に検査されているパケット データを繰り返し検査する必要がなくなります。
吹き出しは、パケット データの挿入時に パケット インジェクション関数の 1 つで、オプションの injectionContext ハンドルを指定することで、他のコールアウト固有の情報を追跡できます。 FwpsQueryPacketInjectionState0 関数が FWPS_PACKET_INJECTED_BY_SELF または FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELFを返す場合、指定された injectionContext は、挿入を実行した関数の completionContext パラメーターとして返されます。
戻り値が FWPS_PACKET_INJECTED_BY_SELF または FWPS_PACKET_PREVIOUSLY_INJECTED_BY_SELFの場合、netBufferList が指すネットワーク バッファー リスト、複製および挿入手順の一部としてさらに変更したり、ペン付けしたりしないでください。 この場合、吹き出しは、classifyFn 関数の classifyOut パラメーターが指す FWPS_CLASSIFY_OUT0 構造体の actionType メンバーを、FWP_ACTION_CONTINUE または FWP_ACTION_PERMITに設定する必要があります。 これにより、パケットは次の吹き出しに進むことができます。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows Vista 以降で使用できます。 |
ターゲット プラットフォーム の | 万国 |
ヘッダー | fwpsk.h (Fwpsk.h を含む) |
ライブラリ | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |