次の方法で共有


FwpmCalloutAdd0 関数 (fwpmu.h)

FwpmCalloutAdd0 関数は、新しい吹き出しオブジェクトをシステムに追加します。

構文

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

パラメーター

[in] engineHandle

型: HANDLE

フィルター エンジンへの開いているセッションのハンドル。 FwpmEngineOpen0 を呼び出して、フィルター エンジンへのセッションを開きます。

[in] callout

種類: FWPM_CALLOUT0*

追加する吹き出しオブジェクト。

[in, optional] sd

種類: PSECURITY_DESCRIPTOR

吹き出しに関連付けられているセキュリティ情報。

[out, optional] id

種類: UINT32*

この吹き出しのランタイム識別子。

戻り値

型: DWORD

リターン コード/値 Description
ERROR_SUCCESS
0
吹き出しが正常に追加されました。
FWP_E_INVALID_PARAMETER
0x80320035
FWPM_TUNNEL_FLAG_POINT_TO_POINTが設定されておらず、ローカル/リモート アドレス以外の条件が指定されました。
FWP_E_* エラー コード
0x80320001 — 0x80320039
Windows フィルタリング プラットフォーム (WFP) 固有のエラー。 詳細については、「 WFP エラー コード 」を参照してください。
RPC_* エラー コード
0x80010001 — 0x80010122
リモートまたはローカルのファイアウォール エンジンとの通信に失敗しました。

注釈

FWPM_CALLOUT0構造体の一部のフィールドは、呼び出し元ではなくシステムによって割り当てられ、FwpmCalloutAdd0 の呼び出しでは無視されます。 呼び出し元が null セキュリティ記述子を提供する場合、システムは既定のセキュリティ記述子を割り当てます。

この関数は、読み取り専用トランザクション内から呼び出すことはできません。 FWP_E_INCOMPATIBLE_TXNで失敗します。 トランザクションの詳細については、「 オブジェクト管理 」を参照してください。

呼び出し元には、コールアウトのコンテナーへのアクセス、プロバイダーへのアクセス (存在する場合)、および適用可能なレイヤーへのアクセスFWPM_ACTRL_ADD_LINK FWPM_ACTRL_ADD_LINKが FWPM_ACTRL_ADD必要です。 詳細については、「Access Control」を参照してください。

吹き出しを参照するフィルターを追加するには、次の順序で関数を呼び出します。

  • FwpsCalloutRegister (Windows ドライバー キット (WDK) に記載されている) を呼び出して、吹き出しをフィルター エンジンに登録します。
  • FwpmCalloutAdd0 を呼び出して、吹き出しをシステムに追加します。
  • FwpmFilterAdd0 を呼び出して、吹き出しを参照するフィルターをシステムに追加します。
既定では、追加されたが、フィルター エンジンにまだ登録されていない吹き出しを参照するフィルターは、ブロック フィルターとして扱われます。

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

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー fwpmu.h
Library Fwpuclnt.lib
[DLL] Fwpuclnt.dll

こちらもご覧ください

FWPM_CALLOUT0

カーネル モード FwpmCalloutAdd0