FWPS_CALLOUT0構造体 (fwpsk.h)

FWPS_CALLOUT0構造体は、吹き出しドライバーがフィルター エンジンに吹き出しを登録するために必要なデータを定義します。

FWPS_CALLOUT0 は、Windows Vista 以降で使用 されるFWPS_CALLOUT の特定のバージョンです。 詳細については、「 WFP Version-Independent 名と特定のバージョンの Windows を対象 とする」を参照してください。 Windows 8の場合は、FWPS_CALLOUT2を使用できます。 Windows 7 の場合は、 FWPS_CALLOUT1 を使用できます。
 

構文

typedef struct FWPS_CALLOUT0_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN0           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN0             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT0;

メンバー

calloutKey

引き出し線を一意に識別する引き出しドライバー定義の GUID

flags

吹き出し固有のパラメーターを指定するフラグ。 使用可能なフラグは次のとおりです。

FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW

吹き出しドライバーは、データ フローをサポートするレイヤーに追加される吹き出しを登録するときに、このフラグを指定できます。 このフラグが指定されている場合、フィルター エンジンは、データ フローに関連付けられているコンテキストがある場合にのみ、引き出しドライバーの classifyFn0 吹き出し関数を呼び出します。 吹き出しドライバーは 、FwpsFlowAssociateContext0 関数を呼び出すことによって、コンテキストをデータ フローに関連付けます。

FWP_CALLOUT_FLAG_ALLOW_OFFLOAD

吹き出しドライバーは、引き出しドライバーの classifyFn0 引き出し関数がオフロード対応ネットワーク インターフェイス カード (NIC) にネットワーク データ処理をオフロードすることによって影響を受けないことを示すために、このフラグを指定します。 このフラグが指定されていない場合、フィルターのアクションの吹き出しを指定するフィルターによって処理されるすべてのトラフィックに対して、ネットワーク データ処理のオフロードが無効になります。

classifyFn

吹き出しドライバーの classifyFn0 吹き出し関数へのポインター。 フィルター エンジンは、吹き出しによって処理されるネットワーク データがある場合は常に、この関数を呼び出します。

notifyFn

引き出しドライバーの notifyFn0 関数へのポインター。 フィルター エンジンは、この関数を呼び出して、吹き出しに関連付けられているイベントについて吹き出しドライバーに通知します。

flowDeleteFn

引き出しドライバーの flowDeleteFn 吹き出し関数へのポインター。 フィルター エンジンは、吹き出しによって処理されているデータ フローが終了するたびに、この関数を呼び出します。

吹き出しドライバーが、引き出し線が処理するデータ フローにコンテキストを関連付けなかった場合、このメンバーを NULL に設定する必要があります。

注釈

吹き出しドライバーは、フィルター エンジンに吹き出しを登録するときに、FwpsCalloutRegister0 関数に初期化されたFWPS_CALLOUT0構造体へのポインターを渡します。

コールアウトでは、ドライバーがストリーム検査の実行に関心がある接続に対してのみ、 FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW フラグを設定できます。 この吹き出しは、他のすべての接続では無視されます。 パフォーマンスが向上し、ドライバーは不要な状態データを維持する必要はありません。

要件

要件
サポートされている最小のクライアント Windows Vista 以降で使用できます。
Header fwpsk.h (Fwpsk.h を含む)

こちらもご覧ください

FWPS_CALLOUT1

FWPS_CALLOUT2

FwpsCalloutRegister0

classifyFn0

flowDeleteFn

notifyFn0