次の方法で共有


FwpmFilterSubscribeChanges0 関数 (fwpmu.h)

FwpmFilterSubscribeChanges0 関数は、特定のフィルターの変更に関する通知の配信を要求するために使用されます。

構文

DWORD FwpmFilterSubscribeChanges0(
  [in]           HANDLE                          engineHandle,
  [in]           const FWPM_FILTER_SUBSCRIPTION0 *subscription,
  [in]           FWPM_FILTER_CHANGE_CALLBACK0    callback,
  [in, optional] void                            *context,
  [out]          HANDLE                          *changeHandle
);

パラメーター

[in] engineHandle

型: HANDLE

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

[in] subscription

種類: FWPM_FILTER_SUBSCRIPTION0*

配信する通知。

[in] callback

種類: FWPM_FILTER_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_READ FWPM_ACTRL_SUBSCRIBE必要があります。 サブスクライバーは、アクセスが FWPM_ACTRL_READ フィルターについてのみ通知を受け取ります。 詳細については、「Access Control」を参照してください。

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

要件

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

こちらもご覧ください

FWPM_FILTER_CHANGE_CALLBACK0

FWPM_FILTER_SUBSCRIPTION0

FwpmFilterUnsubscribeChanges0