次の方法で共有


FwpmCalloutSubscribeChanges0 関数 (fwpmu.h)

FwpmCalloutSubscribeChanges0 関数は、特定の吹き出しの変更に関する通知の配信を要求するために使用されます。

構文

DWORD FwpmCalloutSubscribeChanges0(
  [in]           HANDLE                           engineHandle,
  [in]           const FWPM_CALLOUT_SUBSCRIPTION0 *subscription,
  [in]           FWPM_CALLOUT_CHANGE_CALLBACK0    callback,
  [in, optional] void                             *context,
  [out]          HANDLE                           *changeHandle
);

パラメーター

[in] engineHandle

型: HANDLE

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

[in] subscription

種類: FWPM_CALLOUT_SUBSCRIPTION0*

配信される通知。

[in] callback

種類: FWPM_CALLOUT_CHANGE_CALLBACK0

通知を配信する準備ができたときに呼び出される関数ポインター。

[in, optional] context

型: void*

省略可能なコンテキスト ポインター。 このポインターは、変更の詳細と共に コールバック 関数に渡されます。

[out] changeHandle

種類: HANDLE*

新しく作成されたサブスクリプションを処理します。

戻り値

型: DWORD

リターン コード/値 Description
ERROR_SUCCESS
0
サブスクリプションが正常に作成されました。
FWP_E_* エラー コード
0x80320001 — 0x80320039
Windows フィルタリング プラットフォーム (WFP) 固有のエラー。 詳細については、「 WFP エラー コード 」を参照してください。
RPC_* エラー コード
0x80010001 — 0x80010122
リモートまたはローカルのファイアウォール エンジンとの通信に失敗しました。

注釈

サブスクライバーは、サブスクライブに使用されたのと同じセッション ハンドルで行われた変更に関する通知を受け取りません。 これは、サブスクライバーは自分で行った変更を既に把握しているため、他のユーザーが行った変更のみを表示する必要があるためです。

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

呼び出し元は、吹き出しのコンテナーにFWPM_ACTRL_SUBSCRIBEアクセスし、吹き出しFWPM_ACTRL_READアクセスする必要があります。 サブスクライバーは 、FWPM_ACTRL_READアクセス 権を持つ吹き出しについてのみ通知を受け取ります。 詳細については、「Access Control」を参照してください。

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

要件

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

こちらもご覧ください

FWPM_CALLOUT_CHANGE_CALLBACK0

FWPM_CALLOUT_SUBSCRIPTION0

FwpmCalloutUnsubscribeChanges0