次の方法で共有


FwpsCalloutRegister1 関数 (fwpsk.h)

FwpsCalloutRegister1 関数は、フィルター エンジンに吹き出しを登録します。

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

構文

NTSTATUS FwpsCalloutRegister1(
  [in, out]       void                *deviceObject,
  [in]            const FWPS_CALLOUT1 *callout,
  [out, optional] UINT32              *calloutId
);

パラメーター

[in, out] deviceObject

吹き出しドライバーによって以前に作成されたデバイス オブジェクトへのポインター。 吹き出しドライバーがデバイス オブジェクトを作成する方法の詳細については、「デバイス オブジェクト の作成を参照してください。

[in] callout

フィルター エンジンに吹き出しを登録するために必要なデータを含む定数 FWPS_CALLOUT1 構造体へのポインター。

[out, optional] calloutId

フィルター エンジンの吹き出しを識別するランタイム識別子を受け取る UINT32 型の変数へのポインター。 吹き出しドライバーは、フィルター エンジンから吹き出しの登録を解除するときに、FwpsCalloutUnregisterById0 関数にこの識別子を渡します。 コールアウト ドライバーがデータ フローをフィルター処理している場合は、この識別子も FwpsFlowAssociateContext0 に渡され、FwpsFlowRemoveContext0 関数 されます。 コールアウト ドライバーは、データ ストリームにデータを挿入する場合、この識別子を FwpsStreamInjectAsync0 関数にも渡します。 フィルター エンジンは、この識別子を引き出しドライバーの flowDeleteFn 吹き出し関数にも渡します。 このパラメーターは省略可能であり、NULL できます。

戻り値

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

リターン コード 形容
STATUS_SUCCESS
吹き出しがフィルター エンジンに正常に登録されました。
STATUS_FWP_ALREADY_EXISTS
吹き出しをフィルター エンジンに登録できませんでした。 吹き出しは、吹き出し パラメーターによって指される FWPS_CALLOUT1 構造体の calloutKey メンバーで指定された GUID と同じ識別子を持つ既にフィルター エンジンに登録されています。
その他の状態コードの
エラーが発生しました。

備考

コールアウト ドライバーは、FwpsCalloutRegister1 関数を呼び出して、フィルター エンジンに吹き出しを登録します。 吹き出しドライバーは、フィルター エンジンが現在実行されていない場合でも、いつでもフィルター エンジンにコールアウトを登録できます。

吹き出しドライバーがフィルター エンジンに引き出しを登録する前に、フィルター エンジンにフィルター のアクションの吹き出しを指定する吹き出しとフィルターを追加できます。 このような状況では、アクションの種類が FWP_ACTION_CALLOUT_TERMINATING または FWP_ACTION_CALLOUT_UNKNOWN のフィルターは FWP_ACTION_BLOCKとして扱われ、アクションの種類が FWP_ACTION_CALLOUT_INSPECTION のフィルターは、吹き出しがフィルター エンジンに登録されるまで無視されます。

吹き出しドライバーは、いずれかの呼び出しを呼び出すことによって、フィルター エンジンからの吹き出しの登録を解除します。 FwpsCalloutUnregisterById0 関数またはFwpsCalloutUnregisterByKey0 関数を します。 以前にフィルター エンジンに登録されていたすべての吹き出しが正常に登録解除されるまで、引き出しドライバーをアンロードすることはできません。

必要条件

要件 価値
サポートされる最小クライアント Windows 7 以降で使用できます。
ターゲット プラットフォーム 万国
ヘッダー fwpsk.h (Fwpsk.h を含む)
ライブラリ Fwpkclnt.lib
IRQL PASSIVE_LEVEL

関連項目

FWPS_CALLOUT1

FwpsCalloutRegister0

FwpsCalloutRegister2

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0 する

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

吹き出し の種類

flowDeleteFn