<div class="content" name="RRPC_FWEnumAdapters" uuid="c5c35afe-b29e-433b-b7bc-ca0ffa9adcd4"><p>The RRPC_FWEnumAdapters (Opnum 43) method requests the
server to return all the networks interfaces that the host with the firewall
and advanced security component has. The only method supported is binary
version 0x020A.</p><dl>
<dd>
<div><pre> unsigned long RRPC_FWEnumAdapters(
   [in] FW_CONN_HANDLE rpcConnHandle,
   [in] FW_POLICY_STORE_HANDLE hPolicy,
   [out] unsigned long pdwNumAdapters,
   [out, size_is(,*pdwNumAdapters)] 
     PFW_ADAPTER* ppAdapters
 );
</pre></div>
</dd></dl><p><b>rpcConnHandle: </b>This parameter is an <span><a href="d891304d-92d8-4f9f-9e60-a1f02b28ae30#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span>
binding handle that connects to the RPC interface of the Firewall and Advanced
Security Protocol.</p><p><b>hPolicy: </b>This input parameter is an <span><a href="88f6ea4a-a946-4747-bb93-f142f1760752" data-linktype="relative-path">FW_POLICY_STORE_HANDLE</a></span>
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 <span><a href="37ebed95-8abf-472c-8b4b-7a510a2a6baa" data-linktype="relative-path">FW_STORE_TYPE_DYNAMIC</a></span>
store.</p><p><b>pdwNumAdapters: </b>This is an output parameter
that, on success, MUST be equal to the number of networks returned.</p><p><b>ppAdapters: </b>This is an output parameter that,
on success, contains an array of <span><a href="24178f7a-d5f7-49bd-a7ee-69fe2b02ff4f" data-linktype="relative-path">FW_ADAPTER</a></span> data
types.</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>0x00000005 ERROR_ACCESS_DENIED</td>
  <td>The client does not have the required credentials to call the method.</td>
 </tr><tr>
  <td>0x00000057 ERROR_INVALID_PARAMETER</td>
  <td>A parameter contains invalid 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>