<div class="content"><p> </p><p>The <b>FAX_AccessCheckEx2 (Opnum 101)</b> method is called
by the client when the client needs to check whether the client&#39;s fax user
account has certain access permissions on the server.</p><p>In response, the server MUST validate the access rights
specified by the client against the actual access rights granted to the
client&#39;s fax user account. On success, the server SHOULD return the access
rights specified by the client that are granted to the client&#39;s fax user
account.</p><p>Protocol versions 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><dl>
<dd>
<div><pre> error_status_t FAX_AccessCheckEx2(
   [in] handle_t hBinding,
   [in] DWORD AccessMask,
   [out, ref] BOOL* pfAccess,
   [in, out, unique] LPDWORD lpdwRights
 );
</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> (section 3.1.4.1.10) 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>AccessMask: </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>)
variable that contains a set of bit flags specified by the client to be
validated. Zero is a valid value for this parameter and means that no access rights
are specified by the client to be validated. This parameter can be any
combination of fax-specific access rights, standard access rights, and
fax-generic access rights. If this parameter is set to 0x02000000
(MAXIMUM_ALLOWED), on return, the <i>lpdwRights</i> parameter SHOULD receive
the maximum access rights granted to the client&#39;s fax user account.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Fax-generic access rights</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>FAX_GENERIC_EXECUTE_2</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>Includes the read-only rights granted by the
  FAX_ACCESS_SUBMIT access right.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_GENERIC_READ_2</p>
  <p>0x00000020</p>
  </td>
  <td>
  <p>Includes the read-only rights granted by the
  FAX_ACCESS_QUERY_CONFIG access right.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_GENERIC_WRITE_2</p>
  <p>0x00000040</p>
  </td>
  <td>
  <p>Includes the read-only rights granted by the
  FAX_ACCESS_MANAGE_CONFIG access right.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_GENERIC_ALL_2</p>
  <p>0x000003FF</p>
  </td>
  <td>
  <p>Includes the read-only rights granted by the following
  fax-specific access rights:</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_SUBMIT</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_SUBMIT_NORMAL</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_SUBMIT_HIGH</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_QUERY_OUT_JOBS</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_MANAGE_OUT_JOBS</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_QUERY_CONFIG</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_MANAGE_CONFIG</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_QUERY_ARCHIVES</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_MANAGE_ARCHIVES</p>
  <p><span>§<span>  
  </span></span>FAX_ACCESS_MANAGE_RECEIVE_FOLDER</p>
  </td>
 </tr></tbody></table>
</dd></dl><p> </p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Fax-specific access rights</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>FAX_ACCESS_SUBMIT</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>Grants permission to send a low-priority fax
  transmission to one or more recipients.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_SUBMIT_NORMAL</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>Grants permission to send a normal-priority fax
  transmission to one or more recipients.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_SUBMIT_HIGH</p>
  <p>0x00000004</p>
  </td>
  <td>
  <p>Grants permission to send a high-priority fax
  transmission to one or more recipients.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_QUERY_OUT_JOBS</p>
  <p>0x00000008</p>
  </td>
  <td>
  <p>Grants permission to view the outgoing faxes in the <span><a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_0c5e7185-40c3-4e58-a8ac-7626ed078235" data-linktype="relative-path">fax
  queue</a></span>. By default, no users have this permission.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_MANAGE_OUT_JOBS</p>
  <p>0x00000010</p>
  </td>
  <td>
  <p>Grants permission to manage the outgoing faxes in the
  fax queue by using such operations as pause, resume, restart, and delete
  (section <span><a href="7fa3d24d-6028-4d07-8391-1af766d07358" data-linktype="relative-path">3.1.4.1.82</a></span>). By
  default, no users have this permission.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_QUERY_CONFIG</p>
  <p>0x00000020</p>
  </td>
  <td>
  <p>Grants permission to view the properties of the Fax
  Service and to enumerate accounts, and to read any account configuration
  information. By default, non-administrator users do not have this permission.
  Without it, users cannot view any of the tree nodes, except for the cover
  page node in the Fax Service Manager.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_MANAGE_CONFIG</p>
  <p>0x00000040</p>
  </td>
  <td>
  <p>Grants permission to modify the properties of the fax
  service. By default, non-administrator users do not have this permission.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_QUERY_ARCHIVES</p>
  <p>0x00000080</p>
  </td>
  <td>
  <p>Grants permission to view the sent and received fax
  messages in the <span><a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_9394bf31-7db9-433c-8d3d-ee6a37bf0848" data-linktype="relative-path">archives</a></span>. By
  default, no users have this permission.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_MANAGE_ARCHIVES</p>
  <p>0x00000100</p>
  </td>
  <td>
  <p>Grants permission to manage the sent and received fax
  messages in the archives by using such operations as delete (section <span><a href="fbfc1a7a-12dc-4cf1-8caa-ba5421de7c35" data-linktype="relative-path">3.1.4.1.70</a></span>)
  and copy (sections <span><a href="eeec1571-a24c-4cb3-bc2a-875300086431" data-linktype="relative-path">3.1.4.1.96</a></span>, <span><a href="d4fdc04e-6594-4563-9700-d4cc645b4335" data-linktype="relative-path">3.1.4.1.97</a></span>,
  and <span><a href="efdf1a1b-8f2c-450c-b6a7-36f115aa6ec3" data-linktype="relative-path">3.1.4.1.15</a></span>). By
  default, no users have this permission.</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ACCESS_MANAGE_RECEIVE_FOLDER</p>
  <p>0x00000200</p>
  </td>
  <td>
  <p>When global <span><a href="46aba9c4-ebb1-4b10-86ac-4bb3025657b9#gt_efaa1290-6d4b-4f44-9e84-35a867069d45" data-linktype="relative-path">routing</a></span> is not
  enabled, this permission allows the user to delete any messages. When global
  routing is active, it allows the user to see the contents of all receive
  folder faxes, to delete faxes, and to cancel receive transmissions in
  progress.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>pfAccess: </b>A pointer to a Boolean value that
receives the access check return value. This value MUST be TRUE if the client&#39;s
fax user account has all of the fax access rights specified by the <i>AccessMask</i>
parameter; otherwise, this value MUST be FALSE. If the value submitted by the
client for the <i>AccessMask</i> is zero, the value pointed to by the <i>pfAccess</i>
parameter SHOULD be FALSE on return. </p><p><b>lpdwRights: </b>A pointer to a <b>DWORD</b> value
that receives the fax access rights that this caller is verified to have of
those requested in the <i>AccessMask</i> parameter. This value MUST be a <b>DWORD</b>
bitwise OR combination of fax-specific access rights, standard access rights,
and/or fax-generic access rights limited to those specified by the client in
the <i>AccessMask</i>. In order for the client to be verified for the maximum
allowed rights, the caller MUST set the <i>AccessMask</i> to 0x02000000
(MAXIMUM_ALLOWED) and the server SHOULD set this output value to the actual
rights that this caller is verified to have.</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. The caller does not have the
  required permissions for this request (the caller does not have a valid fax
  user account). </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 under any of the following conditions:</p>
  <p><span>§<span>  
  </span></span>The pointer specified in the <i>pfAccess</i> parameter is NULL.</p>
  <p><span>§<span>  
  </span></span>The fax access rights specified in the <i>lpdwRights</i>
  parameter contain invalid access values.</p>
  </td>
 </tr></tbody></table>
</dd></dl><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>