<div class="content"><p> </p><p>The <b>FaxObs_AccessCheck (Opnum 34)</b> method is called by
the client to check whether the currently logged-on client user account has
access permissions to execute specific fax operations on the fax server.</p><p>In response, the server MUST validate access of the fax
clients currently logged-on user account against the requested access.</p><dl>
<dd>
<div><pre> error_status_t FaxObs_AccessCheck(
   [in] handle_t hBinding,
   [in] DWORD AccessMask,
   [out] LPDWORD fAccess
 );
</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 <span><a href="9430f7e2-d21d-4a38-a859-367b74f68a1a" data-linktype="relative-path">3.1.4.2.2</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>)
containing a set of bit flags that define the fax access permissions to check
for the fax client user account. This parameter MUST be a bitwise OR
combination of generic FaxObs access rights and specific FaxObs access rights
that are described in the following tables.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Generic FaxObs Access Rights</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>FAX_WRITE</p>
  <p>0x00020001</p>
  </td>
  <td>
  <p>Includes the read-only rights that are granted by the
  following specific FaxObs access rights in combination with the standard
  access rights STANDARD_RIGHTS_WRITE:</p>
  <p><span>§<span>  
  </span></span>FAX_JOB_SUBMIT</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_READ</p>
  <p>0x00020016</p>
  </td>
  <td>
  <p>Includes the read-only rights that are granted by the
  following specific FaxObs access rights in combination with the standard
  access rights STANDARD_RIGHTS_READ:</p>
  <p><span>§<span>  
  </span></span>FAX_JOB_QUERY</p>
  <p><span>§<span>  
  </span></span>FAX_CONFIG_QUERY</p>
  <p><span>§<span>  
  </span></span>FAX_PORT_QUERY</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_ALL_ACCESS</p>
  <p>0x001F007F</p>
  </td>
  <td>
  <p>Includes the read-only rights that are granted by the
  following specific FaxObs access rights in combination with the standard
  access rights STANDARD_RIGHTS_ALL:</p>
  <p><span>§<span>  
  </span></span>FAX_JOB_SUBMIT</p>
  <p><span>§<span>  
  </span></span>FAX_JOB_QUERY</p>
  <p><span>§<span>  
  </span></span>FAX_CONFIG_QUERY</p>
  <p><span>§<span>  
  </span></span>FAX_CONFIG_SET</p>
  <p><span>§<span>  
  </span></span>FAX_PORT_QUERY</p>
  <p><span>§<span>  
  </span></span>FAX_PORT_SET</p>
  <p><span>§<span>  
  </span></span>FAX_JOB_MANAGE</p>
  </td>
 </tr></tbody></table>
</dd>
<dd>
<p>The generic FaxObs access rights are bitwise OR
combination of specific FaxObs access rights and standard access rights. For
more information about the standard access rights, see <span><a href="https://go.microsoft.com/fwlink/?LinkId=90120" data-linktype="external">[MSDN-SAR]</a></span>.
</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Specific FaxObs access rights</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>FAX_JOB_SUBMIT</p>
  <p>0x00000001</p>
  </td>
  <td>
  <p>The user can submit documents to be faxed. </p>
  <p>Example method: <b>FaxObs_SendDocument</b> (section <span><a href="21b87199-d4e7-472c-9190-90c6bb16d947" data-linktype="relative-path">3.1.4.2.7</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_JOB_QUERY</p>
  <p>0x00000002</p>
  </td>
  <td>
  <p>The user can query information about submitted fax
  jobs.</p>
  <p>Example method: <b>FaxObs_EnumJobs</b> (section <span><a href="e16a0c7e-be32-44ae-977f-2406d937dab2" data-linktype="relative-path">3.1.4.2.9</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_CONFIG_QUERY</p>
  <p>0x00000004</p>
  </td>
  <td>
  <p>The user can query the fax server configuration.</p>
  <p>Example method: <b>FaxObs_GetConfiguration</b>
  (section <span><a href="af06e79b-a8eb-4e0d-ad9d-ae71738e1a0f" data-linktype="relative-path">3.1.4.2.24</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_CONFIG_SET</p>
  <p>0x00000008</p>
  </td>
  <td>
  <p>The user can change the fax server configuration.</p>
  <p>Example method: <b>FaxObs_SetConfiguration</b>
  (section <span><a href="113dd53f-5d5d-49bd-b7c5-abb07f7968e6" data-linktype="relative-path">3.1.4.2.25</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_PORT_QUERY</p>
  <p>0x00000010</p>
  </td>
  <td>
  <p>The user can query information about the fax ports
  (devices) installed on the fax server.</p>
  <p>Example method: <b>FaxObs_EnumPorts</b> (section <span><a href="d9e71aba-137d-455b-9ca8-8d89c89b2db7" data-linktype="relative-path">3.1.4.2.15</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_PORT_SET</p>
  <p>0x00000020</p>
  </td>
  <td>
  <p>The user can change the configuration of the fax ports
  (devices) installed on the fax server.</p>
  <p>Example method: <b>FaxObs_SetPort</b> (section <span><a href="77fdb752-7238-4baf-8698-625337a0d328" data-linktype="relative-path">3.1.4.2.17</a></span>).</p>
  </td>
 </tr><tr>
  <td>
  <p>FAX_JOB_MANAGE</p>
  <p>0x00000040</p>
  </td>
  <td>
  <p>The user can pause, resume, and cancel submitted fax
  jobs.</p>
  <p>Example method: <b>FaxObs_SetJob</b> (section <span><a href="9f9da633-7698-4074-a2d9-c5aa551df19e" data-linktype="relative-path">3.1.4.2.11</a></span>).</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>fAccess: </b>A pointer to a BOOL variable to
receive on successful return the access check return value. A TRUE value
indicates that access is allowed. A FALSE value indicates that access is
denied.</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_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 <i>hBinding</i> parameter is set to a NULL value. <a id="Appendix_A_Target_216"></a><a aria-label="Product behavior note 216" href="056171e7-80bc-45ff-8107-66ba3abb2023#Appendix_A_216" data-linktype="relative-path">&lt;216&gt;</a></p>
  <p><span>§<span>  
  </span></span>The <i>fAccess</i> parameter is set to a NULL pointer value. <a id="Appendix_A_Target_217"></a><a aria-label="Product behavior note 217" href="056171e7-80bc-45ff-8107-66ba3abb2023#Appendix_A_217" data-linktype="relative-path">&lt;217&gt;</a></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>