次の方法で共有


FWPS_CALLOUT_NOTIFY_FN0 コールバック関数 (fwpsk.h)

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

注意notifyFn0 は、Windows Vista 以降で使用 notifyFn の特定のバージョンです。 詳細については、「WFP Version-Independent 名の と Windows の特定のバージョンを対象とする」を参照してください。 Windows 8 では、notifyFn2 を使用できます。 Windows 7 では、notifyFn1 を使用できます。
 

構文

FWPS_CALLOUT_NOTIFY_FN0 FwpsCalloutNotifyFn0;

NTSTATUS FwpsCalloutNotifyFn0(
  [in] FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  [in] const GUID *filterKey,
  [in] FWPS_FILTER0 *filter
)
{...}

パラメーター

[in] notifyType

フィルター エンジンが吹き出しに送信する通知の種類を示す値。 このパラメーターの有効な値は次のとおりです。

FWPS_CALLOUT_NOTIFY_ADD_FILTER

フィルターのアクションの吹き出しを指定するフィルター エンジンにフィルターが追加されています。

FWPS_CALLOUT_NOTIFY_DELETE_FILTER

フィルターのアクションの吹き出しを指定するフィルター エンジンからフィルターが削除されています。

FWPS_CALLOUT_NOTIFY_TYPE_MAX

テスト目的の最大値。

[in] filterKey

フィルターを追加または削除するアプリケーションまたはドライバーによって指定された、フィルターの管理識別子へのポインター。 notifyType パラメーターが FWPS_CALLOUT_NOTIFY_DELETE_FILTER に設定されている場合は、NULL する必要があります。 詳細については、「解説」を参照してください。

[in] filter

FWPS_FILTER0 構造体へのポインター。 この構造体は、フィルター エンジンに追加またはフィルター エンジンから削除されるフィルターを記述します。

吹き出しの notifyFn0 吹き出し関数は、フィルター がフィルター エンジンに追加されるときに、この構造体の コンテキスト メンバーを、引き出しドライバーが指定したコンテキスト構造を指すよう設定できます。 このコンテキスト構造はフィルター エンジンに対して不透明であり、引き出しドライバーの呼び出しドライバーの呼び出し間でドライバー固有のデータまたは状態情報を保持するために、引き出しドライバーの 分類Fn0 吹き出し関数で使用できます。
classifyFn0 吹き出し関数を します。

吹き出しの notifyFn0 吹き出し関数は、フィルター エンジンからフィルターが削除されたときに、フィルターに関連付けられている任意のコンテキストをクリーンアップできます。

戻り値

吹き出しの notifyFn0 関数は、次のいずれかの NTSTATUS コードを返します。

リターン コード 形容
STATUS_SUCCESS
吹き出しドライバーは、フィルター エンジンからの通知を受け入れます。
その他の状態コードの
エラーが発生しました。 notifyType パラメーターがFWPS_CALLOUT_NOTIFY_ADD_FILTERされている場合、フィルターはフィルター エンジンに追加されません。 notifyType パラメーターがFWPS_CALLOUT_NOTIFY_DELETE_FILTERされている場合でも、フィルター はフィルター エンジンから削除されます。

備考

コールアウト ドライバーは、FwpsCalloutRegister0 関数を呼び出すことによって、吹き出しの吹き出し関数をフィルター エンジンに登録します。

フィルター エンジンは、吹き出しの notifyFn0 吹き出し関数を呼び出し、吹き出しに関連付けられているイベントについて吹き出しドライバーに通知します。 引き出しドライバーの notifyFn0 吹き出し関数が、notifyType パラメーターで渡される通知の種類を認識しない場合、通知は無視され、STATUS_SUCCESSが返されます。

吹き出しドライバーは、フィルター エンジンにフィルターのアクションの吹き出しを指定するフィルターが既に追加された後、フィルター エンジンに引き出し線を登録する場合、フィルター エンジンは呼び出しドライバーの notifyFn0 吹き出し関数を呼び出して、既存のフィルターについて吹き出しを通知しません。 フィルター エンジンは、吹き出しドライバーの notifyFn0 吹き出し関数を呼び出し、フィルターのアクションの吹き出しを指定する新しいフィルターがフィルター エンジンに追加されたときに吹き出しを通知します。 このような状況では、吹き出しの notifyFn0 吹き出し関数は、フィルターのアクションの吹き出しを指定するフィルター エンジン内のすべてのフィルターに対して呼び出されない場合があります。 吹き出しドライバーがフィルター エンジンの起動後にコールアウトを登録し、引き出しは、フィルターのアクションの吹き出しを指定するフィルター エンジン内のすべてのフィルターを認識する必要がある場合、引き出しドライバーは、フィルター エンジン内のすべてのフィルターを列挙し、フィルターの結果の一覧を並べ替えて、フィルターのアクションの吹き出しを指定するものを検索する適切な管理機能を呼び出す必要があります。 これらの関数の呼び出しの詳細については、「他の Windows フィルタリング プラットフォーム関数の呼び出し」を参照してください。

フィルターのアクションの吹き出しを指定するフィルターがフィルター エンジンから削除されると、フィルター エンジンは引き出しドライバーの notifyFn0 吹き出し関数を呼び出し、notifyType パラメーターにFWP_CALLOUT_NOTIFY_DELETE_FILTERを渡し、filterKey パラメーターに NULL します。 詳細については、「通知コールアウトの処理」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows Vista 以降で使用できます。
ターゲット プラットフォーム ウィンドウズ
ヘッダー fwpsk.h (Fwpsk.h を含む)
IRQL <= DISPATCH_LEVEL

関連項目

コールアウト ドライバーの吹き出し関数の

FWPS_CALLOUT0

FWPS_FILTER0

FwpsCalloutRegister0

notifyFn する

notifyFn1 する

notifyFn2 する