FwpmFilterCreateEnumHandle0 function (fwpmk.h)

The FwpmFilterCreateEnumHandle0 function creates a handle used to enumerate a set of filter objects.

Syntax

NTSTATUS FwpmFilterCreateEnumHandle0(
  [in]           HANDLE                           engineHandle,
  [in, optional] const FWPM_FILTER_ENUM_TEMPLATE0 *enumTemplate,
  [out]          HANDLE                           *enumHandle
);

Parameters

[in] engineHandle

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

[in, optional] enumTemplate

Template to selectively restrict the enumeration.

[out] enumHandle

The handle for filter enumeration.

Return value

Return code/value Description
ERROR_SUCCESS
0
The enumerator 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.
Other NTSTATUS codes An error occurred.

Remarks

If enumTemplate is NULL, all filters are returned.

The enumerator is not "live", meaning it does not reflect changes made to the system after the call to FwpmFilterCreateEnumHandle0 returns. If you need to ensure that the results are current, you must call FwpmFilterCreateEnumHandle0 and FwpmFilterEnum0 from within the same explicit transaction.

The caller must free the returned handle by a call to FwpmFilterDestroyEnumHandle0.

The caller needs FWPM_ACTRL_ENUM access to the filters' containers and FWPM_ACTRL_READ access to the filters. Only filters to which the caller has FWPM_ACTRL_READ access will be returned. See Access Control for more information.

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

Requirements

Requirement Value
Minimum supported client Available starting with Windows Vista.
Target Platform Universal
Header fwpmk.h
Library fwpkclnt.lib
IRQL <= PASSIVE_LEVEL

See also