<div class="content" name="RasRpcSetUserPreferences" uuid="83332a21-bdfb-4aca-b20a-ed4c86e88761"><p>The <b>RasRpcSetUserPreferences</b> method sets the
configuration information. The configuration information consists of the
callback information associated with the various ports, and the number of the
last successful callback done by the RRAS.</p><dl>
<dd>
<div><pre> DWORD RasRpcSetUserPreferences(
   [in] handle_t h,
   [in] LPRASRPC_PBUSER pUser,
   [in] DWORD dwMode
 );
</pre></div>
</dd></dl><p><b>h: </b>An RPC binding handle as specified in <a href="https://go.microsoft.com/fwlink/?LinkId=89824" data-linktype="external">[C706]</a> section 2.</p><p><b>pUser: </b>Pointer to the <a href="8bed5d7d-7780-42de-8667-c23a089a6239" data-linktype="relative-path"><b>RASRPC_PBUSER (section 2.2.1.2.229)</b></a>
structure which on successful return contains the configuration information on
the RRAS server. </p><p><b>dwMode: </b>This MUST be set to 2.</p><p><b>Return Values: </b>Specifies the return status as
explained in section <a href="c39d153e-2f97-4e11-8aff-bcf983869dc9" data-linktype="relative-path">2.2.1.2.218</a>
for the <b>retcode</b> field.</p><dl>
<dd>
<p>The return value can be one of the error codes that follow.
All other error values MUST be treated the same by the <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_6132dde1-9eae-4923-987e-9750c3dbca89" data-linktype="relative-path">RRASM client</a>.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>0x00000000 ERROR_SUCCESS</td>
  <td>The call was successful.</td>
 </tr></tbody></table>
</dd></dl><p><b>Exceptions Thrown:</b> This method throws an exception
with the exception code RPC_S_ACCESS_DENIED (0x00000005) if the client is not
an <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_eb335f5b-619b-46ed-9138-06e9910108c3" data-linktype="relative-path">administrator</a> on the <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_f91f3fc7-d1a1-4a07-8c92-d19eb0c9acb0" data-linktype="relative-path">RRASM server</a>, with access
permission to perform the operation.<a id="Appendix_A_Target_337"></a><a aria-label="Product behavior note 337" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_337" data-linktype="relative-path">&lt;337&gt;</a></p><dl>
<dd>
<p>The opnum field value for this method is 10.</p>
</dd>
<dd>
<p>When processing this call, the RRASM SHOULD do the
following:</p>
</dd></dl><ul><li><p><span><span>  </span></span>Validate
as specified in section <a href="83a083ac-cd43-44bf-a301-7c88e64a32fe" data-linktype="relative-path">3.3.4</a>
whether this method was called by a client that is an administrator of the
RRASM server.</p>
</li><li><p><span><span>  </span></span>Call
the abstract interface <b>Invoke RASRPC</b> method, specifying the operation
and the parameters necessary to enable RRAS server to perform the required
management task.</p>
</li><li><p><span><span>  </span></span>Provide
the configuration information as specified by the <i>pUser</i> structure to the
RRAS server for further processing and returning ERROR_SUCCESS (0x00000000).</p>
</li></ul></div>