FWPS_CALLOUT_NOTIFY_FN1 コールバック関数 (fwpsu.h)

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

注意

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

構文

FWPS_CALLOUT_NOTIFY_FN1 FwpsCalloutNotifyFn1;

NTSTATUS FwpsCalloutNotifyFn1(
  FWPS_CALLOUT_NOTIFY_TYPE notifyType,
  const GUID *filterKey,
  FWPS_FILTER1 *filter
)
{...}

パラメーター

notifyType

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

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

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

FWPS_CALLOUT_NOTIFY_TYPE_MAX。 テスト目的の最大値。

filterKey

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

filter

FWPS_FILTER1構造体へのポインター。 この構造体は、フィルター エンジンに追加または削除されるフィルターについて説明します。

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

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

戻り値

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

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

注釈

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

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

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

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

要件

要件
Header fwpsu.h