<div class="content" name="FaxObs_EnumGlobalRoutingInfo" uuid="ce4bde2f-db96-4e87-8683-bd2a043cedb3"><p>The <b>FaxObs_EnumGlobalRoutingInfo (Opnum 20)</b> method is
called by the client to enumerate global routing information.</p><p>The server MUST validate that the client&#39;s fax user account
has the access to enumerate the global routing information. On success, the
server MUST enumerate and return information about all its fax routing methods
in <i>RoutingInfoBuffer</i>.</p><p>The client SHOULD free the returned buffer.</p><dl>
<dd>
<div><pre> error_status_t FaxObs_EnumGlobalRoutingInfo(
   [in] handle_t hBinding,
   [in, out, unique, size_is(,*RoutingInfoBufferSize)] 
     LPBYTE* RoutingInfoBuffer,
   [in, out] LPDWORD RoutingInfoBufferSize,
   [out] LPDWORD MethodsReturned
 );
</pre></div>
</dd></dl><p><b>hBinding: </b>The RPC binding handle for this
call. The client SHOULD reuse the RPC binding handle used as an input <i>hBinding</i>
argument for the <b>FaxObs_ConnectionRefCount</b> (section <a href="9430f7e2-d21d-4a38-a859-367b74f68a1a" data-linktype="relative-path">3.1.4.2.2</a>) method call
used to connect to the fax server.</p><p><b>RoutingInfoBuffer: </b>A pointer to the address of
the returned buffer containing an array of <b>_FAX_GLOBAL_ROUTING_INFOW</b> (section
<a href="f48eda03-a9f3-4fa8-a9ca-cfcd1fc3ee40" data-linktype="relative-path">2.2.33</a>) structures.
Each structure contains information about one fax routing method, as it
pertains to the entire fax server.</p><p><b>RoutingInfoBufferSize: </b>A variable to return
the size, in bytes, of the routing information buffer.</p><p><b>MethodsReturned: </b>A pointer to a <b>DWORD</b> (<a href="../ms-dtyp/cca27429-5689-4a16-b2b4-9325d93e4ba2" data-linktype="relative-path">[MS-DTYP]</a>
section <a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">2.2.9</a>)
variable to receive the number of <b>_FAX_GLOBAL_ROUTING_INFOW</b> structures
that the method returns in the <i>RoutingInfoBuffer</i> parameter. This number
SHOULD equal the total number of fax routing methods installed on the fax
server.</p><p><b>Return Values: </b>This method MUST return
0x00000000 (ERROR_SUCCESS) for success; otherwise, it MUST return one of the
following error codes, one of the fax-specific errors that are defined in
section <a href="cbe6c4fb-4dda-4f6c-9701-0d490ba0d105" data-linktype="relative-path">2.2.52</a>, or one
of the other standard errors defined in <a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a>
section <a href="../ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d" data-linktype="relative-path">2.2</a>.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ERROR_INVALID_FUNCTION 0x00000001</td>
  <td>There are no routing methods currently configured on the fax server.</td>
 </tr><tr>
  <td>ERROR_ACCESS_DENIED 0x00000005</td>
  <td>Access is denied. The client&#39;s fax user account does not have the FAX_CONFIG_QUERY access rights.</td>
 </tr><tr>
  <td>ERROR_NOT_ENOUGH_MEMORY 0x00000008</td>
  <td>The fax server cannot allocate sufficient memory to hold the array of _FAX_GLOBAL_ROUTING_INFOW structures to be returned to the client.</td>
 </tr><tr>
  <td>ERROR_INVALID_PARAMETER 0x00000057</td>
  <td>The parameter is incorrect. One or more of the following parameters are set to NULL pointer values: RoutingInfoBuffer, RoutingInfoBufferSize, and MethodsReturned. &lt;208&gt;</td>
 </tr></tbody></table>
</dd></dl><p><b>Exceptions Thrown: </b>No exceptions are thrown
except those that are thrown by the underlying <a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a> protocol, <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p></div>