FwpsQueryPacketInjectionState0 関数 (fwpsk.h)
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列挙の定数値のいずれかを返します。
注釈
挿入されたパケット データは、挿入された吹き出しに対して再分類できるため、この関数を使用すると、必要に応じてパケット データの挿入履歴を調べることができます。これにより、既に検査されているパケット データを繰り返し検査する必要がなくなります。
吹き出しは、パケット データの挿入時にいずれかのパケット インジェクション関数でオプションの 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 以降で使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | fwpsk.h (Fwpsk.h を含む) |
Library | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |