FwpmProviderCreateEnumHandle0 function (fwpmk.h)
The FwpmProviderCreateEnumHandle0 function creates a handle used to enumerate a set of providers.
Syntax
NTSTATUS FwpmProviderCreateEnumHandle0(
[in] HANDLE engineHandle,
[in, optional] const FWPM_PROVIDER_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
Handle for provider 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 providers are returned.
The enumerator is not live, meaning it does not reflect changes made to the system after the call to FwpmProviderCreateEnumHandle0 returns. If you need to ensure that the results are current, you must call FwpmProviderCreateEnumHandle0 and FwpmProviderEnum0 from within the same explicit transaction.
The caller must free the returned handle by a call to FwpmProviderDestroyEnumHandle0.
The caller needs FWPM_ACTRL_ENUM access to the providers' containers and FWPM_ACTRL_READ access to the providers. Only providers to which the caller has FWPM_ACTRL_READ access will be returned. See Access Control for more information.
FwpmProviderCreateEnumHandle0 is a specific implementation of FwpmProviderCreateEnumHandle. 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 |