<div class="content"><p> </p><p>The <b>FAX_EnumAccounts (Opnum 95)</b> method is called by
the client to enumerate all the fax accounts on the server.</p><p>Protocol version FAX_API_VERSION_0 (0x00000000),
FAX_API_VERSION_1  (0x00010000), and FAX_API_VERSION_2 (0x00020000) fax servers
SHOULD NOT implement this call. The fax client MUST NOT call this method if the
protocol version reported by the server is FAX_API_VERSION_0 (0x00000000),
FAX_API_VERSION_1 (0x00010000), or FAX_API_VERSION_2 (0x00020000). For more
information, see <b>FAX_ConnectFaxServer</b> (section <span><a href="5cbfd38d-7a14-4560-ad24-9ed78f19a3bb" data-linktype="relative-path">3.1.4.1.10</a></span>).</p><p>The server MUST validate that the client&#39;s fax user account 
has access to receive an enumeration of the accounts. The <i>Buffer</i>, <i>BufferSize</i>,
and <i>lpdwAccounts</i> parameters MUST NOT be NULL. On success, the server
MUST enumerate all existing fax accounts and return the enumerated accounts in <i>Buffer</i>.
</p><dl>
<dd>
<div><pre> error_status_t FAX_EnumAccounts(
   [in] handle_t hBinding,
   [in] DWORD level,
   [out, size_is(,*BufferSize)] LPBYTE* Buffer,
   [out, ref] LPDWORD BufferSize,
   [out, ref] LPDWORD lpdwAccounts
 );
</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>FAX_ConnectFaxServer</b> or <b>FAX_ConnectionRefCount</b> (section
<span><a href="a92941ac-bd07-4a71-af85-c2c157c97cf9" data-linktype="relative-path">3.1.4.1.11</a></span>)
method call used to connect to the fax server.</p><p><b>level: </b>A <b>DWORD</b> (<span><a href="../ms-dtyp/cca27429-5689-4a16-b2b4-9325d93e4ba2" data-linktype="relative-path">[MS-DTYP]</a></span>
section <span><a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">2.2.9</a></span>)
value that indicates the type of structure that is pointed to by <i>Buffer</i>.
The value passed in this parameter MUST be zero.</p><p><b>Buffer: </b>A pointer to an array of <b>FAX_ACCOUNT_INFO_0</b> (section
<span><a href="b9b642f1-8b22-48e2-bc93-0570458c165a" data-linktype="relative-path">2.2.24</a></span>)
structures that contain fax account information.</p><p><b>BufferSize: </b>A pointer to a <b>DWORD</b> value
that specifies the size, in bytes, of the buffer that is pointed to by the <i>Buffer</i>
parameter.</p><p><b>lpdwAccounts: </b>A <b>DWORD</b> that contains the
number of accounts whose information is being returned.</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 <span><a href="cbe6c4fb-4dda-4f6c-9701-0d490ba0d105" data-linktype="relative-path">2.2.52</a></span>, or one of
the other standard errors defined in <span><a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a></span>
section <span><a href="../ms-erref/18d8fbe8-a967-4f1c-ae50-99ca8e491d2d" data-linktype="relative-path">2.2</a></span>.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>ERROR_ACCESS_DENIED</p>
  <p>0x00000005</p>
  </td>
  <td>
  <p>The client&#39;s fax user account does not have the access
  right FAX_ACCESS_QUERY_CONFIG to perform this operation.</p>
  </td>
 </tr><tr>
  <td>
  <p>ERROR_NOT_ENOUGH_MEMORY</p>
  <p>0x00000008</p>
  </td>
  <td>
  <p>The fax server failed to allocate the amount of memory
  needed to process this request.</p>
  </td>
 </tr><tr>
  <td>
  <p>ERROR_INVALID_PARAMETER</p>
  <p>0x00000057</p>
  </td>
  <td>
  <p>The parameter is incorrect. This error code is
  returned if any of the following conditions are met:</p>
  <p><span>§<span>  
  </span></span>The value specified for the <i>level</i> parameter is not equal
  to zero.</p>
  <p><span>§<span>  
  </span></span>The pointer specified by the <i>Buffer</i> parameter is NULL.<a id="Appendix_A_Target_83"></a><a aria-label="Product behavior note 83" href="056171e7-80bc-45ff-8107-66ba3abb2023#Appendix_A_83" data-linktype="relative-path">&lt;83&gt;</a></p>
  <p><span>§<span>  
  </span></span>The value pointed to by the <i>BufferSize</i> parameter is
  zero.<a id="Appendix_A_Target_84"></a><a aria-label="Product behavior note 84" href="056171e7-80bc-45ff-8107-66ba3abb2023#Appendix_A_84" data-linktype="relative-path">&lt;84&gt;</a></p>
  <p><span>§<span>  
  </span></span>The pointer specified by the <i>lpdwAccounts</i> parameter is
  NULL.<a id="Appendix_A_Target_85"></a><a aria-label="Product behavior note 85" href="056171e7-80bc-45ff-8107-66ba3abb2023#Appendix_A_85" data-linktype="relative-path">&lt;85&gt;</a></p>
  </td>
 </tr></tbody></table>
</dd></dl><p>The account name that <i>lpcwstrAccountName</i> indicates
MUST be in one of the following formats. Any other format is invalid.</p><table><thead>
  <tr>
   <th>
   <p>Format</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>&lt;machine_name&gt;\&lt;user_name&gt;</p>
  </td>
  <td>
  <p>For a local user with machine_name as the local
  machine&#39;s name.</p>
  </td>
 </tr><tr>
  <td>
  <p>&lt;domain_name&gt;\&lt;user_name&gt;</p>
  </td>
  <td>
  <p>For a nonlocal user.</p>
  </td>
 </tr></tbody></table><p><b>Exceptions Thrown: </b>No exceptions are thrown
except those that are thrown by the underlying <span><a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> protocol, <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>.</p></div>