3.1.4.85 RRPC_FWEnumFirewallRules2_27 (Opnum 84)

The RRPC_FWEnumFirewallRules2_27 method requests the server to return all the firewall rules contained in the store that is referenced by the hPolicyStore handle. The method returns a linked list of all the firewall rule objects. The method is only supported for binary version 0x021B.

 DWORD RRPC_FWEnumFirewallRules2_27(
   [in] FW_CONN_HANDLE rpcConnHandle,
   [in] FW_POLICY_STORE_HANDLE hPolicyStore,
   [in] DWORD dwFilteredByStatus,
   [in] DWORD dwProfileFilter,
   [in] WORD wFlags,
   [out, ref] DWORD* pdwNumRules,
   [out] PFW_RULE2_27* ppRules
 );

rpcConnHandle: An RPC binding handle that connects to the RPC interface of the Firewall and Advanced Security Protocol.

hPolicyStore: An input parameter that is an FW_POLICY_STORE_HANDLE data type (section 2.2.94). This parameter MUST contain an opened policy store handle, successfully opened with the RRPC_FWOpenPolicyStore (Opnum 0) method (section 3.1.4.1). The handle MUST have read/write access rights.

dwFilteredByStatus: A combination of flags from the FW_RULE_STATUS_CLASS enumeration (section 2.2.25). This method uses this bitmask to determine whether rules should be returned. Rules that contain a status code of the specified class that match this parameter will be returned in the linked list.

dwProfileFilter: A combination of flags from the FW_PROFILE_TYPE enumeration (section 2.2.2). This method also uses this parameter to determine whether rules should be returned. Rules that contain a profile specified by this parameter will be returned in the linked list.

wFlags: A combination of flags from the FW_ENUM_RULES_FLAGS enumeration (section 2.2.33), which modifies the behavior of the method and performs operations on the rules before returning them in the linked list.

pdwNumRules: An output parameter that, on success, MUST be equal to the number of rules returned.

ppRules: An output parameter that, on success, contains a linked list of FW_RULE2_27 data types (section 2.2.107).

Return Values: The method returns 0 if successful; if it fails, it returns a nonzero error code. The field can take any specific error code value, as specified in [MS-ERREF]. The following return values are common.

Return value/code

Description

0x00000005

ERROR_ACCESS_DENIED

The hPolicyStore handle was not opened with read/write access rights. This error is also returned if the client does not have the required credentials to call the method.

0x00000057

ERROR_INVALID_PARAMETER

One of the parameters of this method is incorrect, or is required but not specified. This error can be returned in the following cases:

- One of the required values is not specified.

- The dwProfileFilter parameter contains invalid profiles.

Exceptions Thrown: No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified in [MS-RPCE]. If any lower-layer errors are reported by RPC exception, this exception is converted to an error code and reported to higher-layer protocols via the return value.

The server MUST validate that the client is authorized to perform the requested operation (as defined in section 3.1.4) before executing this method.