<div class="content" name="RRPC_FWSetFirewallRule2_33" uuid="18d15c6a-d296-4c76-bec3-1f1df0c2edaa"><p>The <b>RRPC_FWSetFirewallRule2_33</b> method requests the
server to modify the specified connection security rule in the policy contained
in the policy store that is referenced by the handle specified in the <i>hPolicyStore</i>
parameter. The method is only supported for policy version 0x0221 (section <span><a href="faf4ffbe-1d51-40ad-ae90-2230f2c0b6a9" data-linktype="relative-path">2.2.42</a></span>).</p><dl>
<dd>
<div><pre> DWORD RRPC_FWSetFirewallRule2_31(
   [in]  FW_CONN_HANDLE rpcConnHandle,
   [in]  FW_POLICY_STORE_HANDLE hPolicyStore,
   [in]  PFW_RULE pRule,
   [out] FW_RULE_STATUS* pStatus
 );
</pre></div>
</dd></dl><p><b>rpcConnHandle:</b> An RPC binding handle that
connects to the RPC interface of the Firewall and Advanced Security Protocol.</p><p><b>hPolicyStore:</b> An input parameter that is an <span><a href="88f6ea4a-a946-4747-bb93-f142f1760752" data-linktype="relative-path">FW_POLICY_STORE_HANDLE</a></span>
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 <span><a href="2157e39a-1bf0-4e0c-abae-0811fd918b11" data-linktype="relative-path">3.1.4.1</a></span>). The
handle MUST have read/write access rights.</p><p><b>pRule:</b> Represents the firewall rule that the
client requests to have modified in the store. The rule MUST be a valid rule,
as specified in the definition of the <span><a href="8c008258-166d-46d4-9090-f2ffaa01be4b" data-linktype="relative-path">FW_RULE</a> </span>data type
(section 2.2.37).</p><p><b>pStatus:</b> An output parameter that is the
status code of the rule, as specified by the <span><a href="c4fd81e6-38dd-47c5-8a0f-a98a11cf190e" data-linktype="relative-path">FW_RULE_STATUS</a></span>
enumeration (section 2.2.24).</p><p><b>Return Values:</b> 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 <span><a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a></span>.
The following return values are common.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000032 ERROR_NOT_SUPPORTED</td>
  <td>The specified store does not support this method; the store might be read-only.</td>
 </tr><tr>
  <td>0x00000005 ERROR_ACCESS_DENIED</td>
  <td>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.</td>
 </tr><tr>
  <td>0x00000002 ERROR_FILE_NOT_FOUND</td>
  <td>The specified rule referenced by the wszRuleID member string of the FW_RULE data type (section 2.2.37) is not found in the policy store.</td>
 </tr><tr>
  <td>0x00000057 ERROR_INVALID_PARAMETER</td>
  <td>One of the parameters of this method is incorrect, or is required but not specified. This error can be returned in the following cases: - The pRule object did not pass the firewall rule validations specified in the definition of the FW_RULE data type (section 2.2.37). - One of the required values is not specified. - A policy store does not support rules with profile conditions other than ALL profiles.</td>
 </tr></tbody></table>
</dd></dl><p><b>Exceptions Thrown:</b> No exceptions are thrown
beyond those thrown by the underlying RPC protocol, as specified in <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>.
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.</p><p>The server MUST validate that the client is authorized to
perform the requested operation (as defined in section <span><a href="b0c93352-8371-4d63-abca-b0cc8dbcc3d7" data-linktype="relative-path">3.1.4</a></span>)
before executing this method.</p></div>