<div class="content" name="FAX_SetGeneralConfiguration" uuid="34e02038-9f56-4c51-abfa-e404cf3b2ffd"><p>The fax client application calls the <b>FAX_SetGeneralConfiguration
(Opnum 98)</b> method to set the configuration options provided for the fax
service. The <b>FAX_GENERAL_CONFIG</b> (section <a href="7b87f66e-e7bf-4294-be2f-669de0595bde" data-linktype="relative-path">2.2.31</a>) structure MUST be
serialized. The variable data fields, such as strings, MUST be filled with the
offset to the string from the beginning of the buffer and not the actual
address. In response, the server MUST validate that the client&#39;s fax user
account has access to manage configuration on the server. On success, the
server MUST set the requested configuration options.</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 <a href="5cbfd38d-7a14-4560-ad24-9ed78f19a3bb" data-linktype="relative-path">3.1.4.1.10</a>).</p><dl>
<dd>
<div><pre> error_status_t FAX_SetGeneralConfiguration(
   [in] handle_t hBinding,
   [in] DWORD level,
   [in, ref, size_is(BufferSize)] const LPBYTE Buffer,
   [in, range(0,FAX_MAX_RPC_BUFFER)] 
     DWORD BufferSize
 );
</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_ConnectionRefCoun</b>t (section
<a href="a92941ac-bd07-4a71-af85-c2c157c97cf9" data-linktype="relative-path">3.1.4.1.11</a>) method call
used to connect to the fax server.</p><p><b>level: </b>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>)
value that indicates the type of structure to return in <i>Buffer</i>. This
value MUST be set to zero.</p><p><b>Buffer: </b>A pointer to a <b>FAX_GENERAL_CONFIG</b> that
contains the configuration information to set.</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. The maximum size is <b>FAX_MAX_RPC_BUFFER</b> (section <a href="8bb4ba82-db45-44ea-9caa-af64d7448e6d" data-linktype="relative-path">2.2.82</a>).</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_ACCESS_DENIED 0x00000005</td>
  <td>Access is denied. The client&#39;s fax user account does not have the required FAX_ACCESS_MANAGE_CONFIG authorization for this operation.</td>
 </tr><tr>
  <td>ERROR_NOT_ENOUGH_MEMORY 0x00000008</td>
  <td>In order to process the data for custom marshaling, the server needs to make a copy of the FAX_GENERAL_CONFIG provided by the client; but the server cannot allocate sufficient memory to hold the copy of the FAX_GENERAL_CONFIG.</td>
 </tr><tr>
  <td>ERROR_INVALID_DATA 0x0000000D</td>
  <td>The lpcwstrArchiveLocationOffset member of the Fixed_Portion of the FAX_GENERAL_CONFIG referenced by the Buffer parameter is set to an invalid offset value.</td>
 </tr><tr>
  <td>ERROR_INVALID_PARAMETER 0x00000057</td>
  <td>The parameter is incorrect. This error code is returned if any of the following conditions are met: § The level parameter is set to a value greater than 0. § In the FAX_GENERAL_CONFIG referenced by Buffer, the dtDiscountStart.Hour member is set to a value greater than or equal to 24, and the dtDiscountStart.Minute member is set to a value greater than or equal to 60. § In the FAX_GENERAL_CONFIG referenced by Buffer, the dtDiscountEnd.Hour member is set to a value greater than or equal to 24, and the dtDiscountEnd.Minute member is set to a value greater than or equal to 60. § In the FAX_GENERAL_CONFIG referenced by Buffer, the bUseArchive member is set to TRUE and the lpcwstrArchiveLocationOffset member is set to 0. § In the FAX_GENERAL_CONFIG referenced by Buffer, the dwSizeQuotaHighWaterMark member is set to a value greater than the value of the dwSizeQuotaLowWaterMark member. § In the FAX_GENERAL_CONFIG referenced by Buffer, the dwQueueState member contains one or more of the following flag values: FAX_INCOMING_BLOCKED, FAX_OUTBOX_BLOCKED, or FAX_OUTBOX_PAUSED. § The value of the BufferSize parameter is less than the size required to hold the custom marshaled FAX_GENERAL_CONFIG structure referenced by Buffer. This size is specified by the dwSizeOfStruct member of the FAX_GENERAL_CONFIG referenced by Buffer.</td>
 </tr><tr>
  <td>ERROR_INTERNAL_ERROR 0x0000054F</td>
  <td>The server failed to parse the custom marshaled FAX_GENERAL_CONFIG.</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>