3.1.4.7 RRPC_FWSetFirewallRule (Opnum 6)
The RRPC_FWSetFirewallRule method requests the server to modify the specified firewall rule in the policy contained in the policy store that is referenced by the handle specified in the hPolicyStore parameter.
-
ULONG RRPC_FWSetFirewallRule( [in] FW_CONN_HANDLE rpcConnHandle, [in] FW_POLICY_STORE_HANDLE hPolicyStore, [in] PFW_RULE2_0 pRule );
rpcConnHandle: This parameter is an RPC binding handle that connects to the RPC interface of the Firewall and Advanced Security Protocol.
hPolicyStore: This input parameter is an FW_POLICY_STORE_HANDLE data type. The data type MUST contain an opened policy store handle that is successfully opened by using the RRPC_FWOpenPolicyStore (Opnum 0) method. The handle MUST have read/write access rights.
pRule: This parameter represents the firewall rule that the client wants to modify in the store. The rule MUST be a valid rule, as specified in the definition of the FW_RULE2_0 data type.
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 are common.
-
Return value/code
Description
0x00000032
ERROR_NOT_SUPPORTED
The specified store does not support this method; the store might be read-only.
0x00000005
ERROR_ACCESS_DENIED
The hPolicyStore handle was not opened with read/write access rights. The error is also returned if the client does not have the required credentials to call the method.
0x00000002
ERROR_FILE_NOT_FOUND
The specified rule that is referenced by the wszRuleID member string of the FW_RULE data type is not found in the policy store.
0x00000057
ERROR_INVALID_PARAMETER
A parameter of this method is incorrect, or is required and not specified. This error can be returned because:
The pRule object did not pass the firewall rule validations that are specified in the definition of the FW_RULE data type.
One of the required values is not specified.
A policy store does not support rules that have profile conditions other than ALL profiles.
The wszLocalApplication field of the rule contains a string that was determined to be an invalid path.
Exceptions Thrown: No exceptions are thrown except those that are 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.