3.1.4.37 RRPC_FWEnumMainModeRules (Opnum 36)
The RRPC_FWEnumMainModeRules (Opnum 36) method requests the server to return all the main mode rules contained in the store referenced by the hPolicy handle. The method returns a linked list of all the main mode rule objects. The only method supported is binary version 0x020A.
-
unsigned long RRPC_FWEnumMainModeRules( [in] FW_CONN_HANDLE rpcConnHandle, [in] FW_POLICY_STORE_HANDLE hPolicy, [in] unsigned long dwFilteredByStatus, [in] unsigned long dwProfileFilter, [in] unsigned short wFlags, [out, ref] unsigned long* pdwNumRules, [out] PFW_MM_RULE* ppMMRules );
rpcConnHandle: This parameter is an RPC binding handle that connects to the RPC interface of the Firewall and Advanced Security Protocol.
hPolicy: This input parameter is an FW_POLICY_STORE_HANDLE data type. The data type MUST contain an opened policy store handle, successfully opened with the RRPC_FWOpenPolicyStore (Opnum 0) method. This handle MUST be of the FW_STORE_TYPE_DYNAMIC store.
dwFilteredByStatus: This parameter is a combination of flags from the FW_RULE_STATUS_CLASS enumeration. This method uses this bitmask to determine which rules will be returned. Rules that contain a status code of the class specified by this parameter will be returned in the linked list.
dwProfileFilter: This parameter is a combination of flags from the FW_PROFILE_TYPE enumeration. This method also uses this parameter to determine which rules will be returned. Rules that contain a profile specified by this parameter will be returned in the linked list.
wFlags: This parameter is a combination of flags from the FW_ENUM_RULES_FLAGS enumeration, which modifies the behavior of the method and performs operations on the rules before returning them in the linked list.
pdwNumRules: This is an output parameter that on success MUST be equal to the number of rules returned.
ppMMRules: This is an output parameter that on success contains a linked list of FW_MM_RULE data types.
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 client does not have the required credentials to call the method.
0x00000057
ERROR_INVALID_PARAMETER
One of the parameters for this method is incorrect, or is required but not specified. This error can be returned in the following cases:
- One of the parameters did not meet the required constraints.
- 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.