FwpmProviderSubscribeChanges0 function (fwpmu.h)

The FwpmProviderSubscribeChanges0 function is used to request the delivery of notifications regarding changes in a particular provider.

Syntax

DWORD FwpmProviderSubscribeChanges0(
  [in]           HANDLE                            engineHandle,
  [in, optional] const FWPM_PROVIDER_SUBSCRIPTION0 *subscription,
  [in]           FWPM_PROVIDER_CHANGE_CALLBACK0    callback,
  [in, optional] void                              *context,
  [out]          HANDLE                            *changeHandle
);

Parameters

[in] engineHandle

Type: HANDLE

Handle for an open session to the filter engine. Call FwpmEngineOpen0 to open a session to the filter engine.

[in, optional] subscription

Type: FWPM_PROVIDER_SUBSCRIPTION0*

The notifications to be delivered.

[in] callback

Type: FWPM_PROVIDER_CHANGE_CALLBACK0

Function pointer that will be invoked when a notification is ready for delivery.

[in, optional] context

Type: void*

Optional context pointer. This pointer is passed to the callback function along with details of the change.

[out] changeHandle

Type: HANDLE*

Handle to the newly created subscription.

Return value

Type: DWORD

Return code/value Description
ERROR_SUCCESS
0
The subscription was created successfully.
FWP_E_* error code
0x80320001—0x80320039
A Windows Filtering Platform (WFP) specific error. See WFP Error Codes for details.
RPC_* error code
0x80010001—0x80010122
Failure to communicate with the remote or local firewall engine.

Remarks

Subscribers do not receive notifications for changes made with the same session handle used to subscribe. This is because subscribers only need to see changes made by others since they already know which changes they made themselves.

This function cannot be called from within a transaction. It will fail with FWP_E_TXN_IN_PROGRESS. See Object Management for more information about transactions.

The caller needs FWPM_ACTRL_SUBSCRIBE access to the provider's container and FWPM_ACTRL_READ access to the provider. The subscriber will only get notifications for providers to which it has FWPM_ACTRL_READ access. See Access Control for more information.

FwpmProviderSubscribeChanges0 is a specific implementation of FwpmProviderSubscribeChanges. See WFP Version-Independent Names and Targeting Specific Versions of Windows for more information.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2008 [desktop apps only]
Target Platform Windows
Header fwpmu.h
Library Fwpuclnt.lib
DLL Fwpuclnt.dll

See also

FWPM_PROVIDER_CHANGE_CALLBACK0

FWPM_PROVIDER_SUBSCRIPTION0