次の方法で共有


FwpmCalloutAdd0 関数 (fwpmk.h)

FwpmCalloutAdd0 関数は、フィルター エンジンに吹き出しを追加します。

構文

NTSTATUS FwpmCalloutAdd0(
  [in]            HANDLE               engineHandle,
  [in]            const FWPM_CALLOUT0  *callout,
  [in, optional]  PSECURITY_DESCRIPTOR sd,
  [out, optional] UINT32               *id
);

パラメーター

[in] engineHandle

フィルター エンジンへの開いているセッションのハンドル。 コールアウト ドライバーは、FwpmEngineOpen0 関数を呼び出して、フィルター エンジンへのセッションを開きます。

[in] callout

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

[in, optional] sd

フィルター エンジンに追加される吹き出しのセキュリティ記述子を記述する定数 SECURITY_DESCRIPTOR 構造体へのポインター。 このパラメーターは省略可能であり、NULLできます。

[out, optional] id

フィルター エンジンの吹き出しを識別するランタイム識別子を受け取る UINT32 型の変数へのポインター。 これは、引き出し線ドライバーがフィルター エンジンに引き出しドライバーの吹き出し関数を登録するときに返されるのと同じ識別子です。 吹き出しドライバーは、フィルター エンジンから吹き出しを削除するときに、FwpmCalloutDeleteById0 関数にこの識別子を渡します。 このパラメーターは省略可能であり、NULLできます。

戻り値

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

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

備考

コールアウト ドライバーは、FwpmCalloutAdd0 関数を呼び出して、フィルター エンジンに吹き出しを追加します。

吹き出しドライバーは、通常、フィルター エンジンに吹き出しを追加しません。 ほとんどの場合、これはユーザー モードの Windows フィルター プラットフォーム管理アプリケーションによって処理されます。

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

FwpmCalloutAdd0 は、FwpmCalloutAddの特定のバージョンです。 詳細については、「WFP Version-Independent 名の と Windows の特定のバージョンを対象とする」を参照してください。

必要条件

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

関連項目