<div class="content"><p> </p><p>The <b>FAX_EnumJobsEx2 (Opnum 88)</b> method is called by
the client to enumerate a specified set of jobs on the server&#39;s <span><a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_c1a6400d-703b-4f9a-a74c-40f1487978d9" data-linktype="relative-path">queue</a></span>
for a specific fax account. The type of jobs to enumerate is described by the <i>dwJobTypes</i>
argument.</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>In response, the server MUST validate whether the client&#39;s
fax user account has access to enumerate the jobs for the specified account. If
the lpcwstrAccountName is not NULL, the server MUST validate the format of the
account name. It MUST check for existence of account name. It MUST also verify
that the level argument is set to 1. </p><p>On success, the server MUST return information about all the
jobs of the specified type for the specified account. It MUST also return the
total size of the buffer in which the information is returned and the total
number of jobs enumerated.</p><p>The client SHOULD free the returned buffer.</p><dl>
<dd>
<div><pre> error_status_t FAX_EnumJobsEx2(
   [in] handle_t hBinding,
   [in] BOOL fAllAccounts,
   [in, string, unique] LPCWSTR lpcwstrAccountName,
   [in] DWORD dwJobTypes,
   [in] DWORD level,
   [out, size_is(,*BufferSize)] LPBYTE* Buffer,
   [out, ref] LPDWORD BufferSize,
   [out, ref] LPDWORD lpdwJobs
 );
</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>fAllAccounts: </b>Flag indicating whether the jobs
for all accounts are enumerated. If this parameter is nonzero, the jobs for all
accounts are enumerated and <i>lpcwstrAccountName</i> is reset to NULL and not
taken into account. Otherwise, the <i>lpcwstrAccountName</i> parameter SHOULD
indicate which accounts are to be enumerated.</p><p><b>lpcwstrAccountName: </b>Pointer to a constant,
null-terminated character string that indicates which account to enumerate. If
this value is set to <b>NULL</b>, the current account&#39;s jobs are enumerated.
Cross-account enumeration is currently not supported. If the <i>fAllAccounts</i>
parameter is nonzero, this value is reset to NULL. The value for this parameter
can be obtained using the <b>FAX_EnumAccounts</b> (section <span><a href="fcd3c4ed-d64b-465e-b875-dd26d1bf3567" data-linktype="relative-path">3.1.4.1.18</a></span>)
method.</p><p><b>dwJobTypes: </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 MUST consist of a bitwise combination of the job types defined in
section <span><a href="bd422bcf-7ce8-4576-addb-89345ea84f9f" data-linktype="relative-path">3.1.1</a></span>. Only jobs
that are of the requested types SHOULD be returned in the buffer.</p><p><b>level: </b>A <b>DWORD</b> value that indicates the
type of structure to return in the <i>Buffer</i> parameter. The value MUST be
set to 1.</p><p><b>Buffer: </b>Pointer to the address of a buffer
that will receive an array of <b>FAX_JOB_ENTRY_EX_1</b> (section <span><a href="b02b56af-005a-4326-bfee-63613abf911d" data-linktype="relative-path">2.2.34</a></span>)
structures. Each structure describes one <span><a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_9369467f-ee6b-427f-9d5c-f9cacc40ae66" data-linktype="relative-path">fax job</a></span>.</p><p><b>BufferSize: </b>Pointer to a <b>DWORD</b> value
that returns the size, in bytes, of <i>Buffer</i>.</p><p><b>lpdwJobs: </b>Pointer to a <b>DWORD</b> value that
receives the number of <b>FAX_JOB_ENTRY_EX_1</b> that the method returns in <i>Buffer</i>.</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>Access is denied. This error can be returned when any
  of the following conditions are true:</p>
  <p><span>§<span>  
  </span></span>The client&#39;s fax user account does not have any of the access
  rights defined in <b>ALL_FAX_USER_ACCESS_RIGHTS</b> (section <span><a href="6b6ab8ee-03ec-42de-a4fa-fd0b5703b2c3" data-linktype="relative-path">2.2.83</a></span>)
  that are required in order to enumerate jobs of type <b>JT_SEND</b> on its
  own account. That is, the <i>fAllAccounts</i> parameter is FALSE.</p>
  <p><span>§<span>  
  </span></span>The client&#39;s fax user account does not have the <b>FAX_ACCESS_QUERY_OUT_JOBS</b>
  access right that is required in order to enumerate jobs of type JT_SEND on
  all accounts. That is, <i>fAllAccounts</i> is TRUE.</p>
  <p><span>§<span>  
  </span></span>The client&#39;s fax user account does not have the <b>FAX_ACCESS_MANAGE_RECEIVE_FOLDER</b>
  access right that is required in order to enumerate jobs of type <b>JT_RECEIVE</b>
  or <b>JT_ROUTING</b>.</p>
  </td>
 </tr><tr>
  <td>
  <p>ERROR_NOT_ENOUGH_MEMORY</p>
  <p>0x00000008</p>
  </td>
  <td>
  <p>Not enough storage is available to process this
  command.</p>
  </td>
 </tr><tr>
  <td>
  <p>ERROR_INVALID_PARAMETER</p>
  <p>0x00000057</p>
  </td>
  <td>
  <p>The parameter is incorrect. This value is returned
  when any of the following conditions are true:</p>
  <p><span>§<span>  
  </span></span>Either the <i>lpwdJobs</i> or the <i>Buffer</i> parameter is
  NULL.</p>
  <p><span>§<span>  
  </span></span>The <i>BufferSize</i> parameter is 0.</p>
  <p><span>§<span>  
  </span></span>The <i>level</i> parameter is not set to 1.</p>
  <p><span>§<span>  
  </span></span>The <i>lpcwstrAccountName</i> parameter contains an improperly
  formatted account name or points to a nonexistent or other user account.</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
beyond those 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>