<div class="content"><p>The <b>RRouterInterfaceDeviceSetInfo</b> method<a id="Appendix_A_Target_310"></a><a aria-label="Product behavior note 310" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_310" data-linktype="relative-path">&lt;310&gt;</a> sets the information for a
specified <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_4712ded2-d927-4930-9450-29499f98cef4" data-linktype="relative-path">device</a>, <i>dwIndex</i>,
for a specified interface, <i>hInterface</i>, on a specified server, <i>hDimServer</i>.</p><dl>
<dd>
<div><pre> DWORD RRouterInterfaceDeviceSetInfo(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD dwLevel,
   [in] PDIM_INFORMATION_CONTAINER pInfoStruct,
   [in] DWORD dwIndex,
   [in] DWORD hInterface
 );
</pre></div>
</dd></dl><p><b>hDimServer: </b>A handle to the RRASM server where
the call is to be executed, see section <a href="1f8cdbcc-9791-4a35-ad78-878b8d110e15" data-linktype="relative-path">3.1.3</a>.</p><p><b>dwLevel: </b>This is of type <b>DWORD</b> and MUST
be set to one of the following values.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>0</p>
  </td>
  <td>
  <p>pInfoStruct-&gt;pBuffer MUST be set to point to <a href="034e0660-0800-42ea-aa28-ded31fe1b327" data-linktype="relative-path"><b>MPR_DEVICE_0 (section 2.2.1.2.85)</b></a>.
  </p>
  </td>
 </tr><tr>
  <td>
  <p>1</p>
  </td>
  <td>
  <p> pInfoStruct-&gt;pBuffer MUST be set to point to <a href="ed4948bc-db6f-4174-864f-71cfa7c31daf" data-linktype="relative-path"><b>MPR_DEVICE_1 (section 2.2.1.2.86)</b></a>.
  </p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>pInfoStruct: </b>This is a pointer of type <a href="95609dbb-56aa-4b1b-a0e2-697864a141bd" data-linktype="relative-path"><b>DIM_INFORMATION_CONTAINER (section 2.2.1.2.1)</b></a>
and MUST be set to the following, based on <i>dwLevel</i>. The <i>szDeviceName</i>
MUST be one of the devices as specified by <a href="0553ccf0-5b52-4131-b277-4f2644eb41e7" data-linktype="relative-path"><b>RRouterDeviceEnum</b></a>.
The <b>szDeviceType</b> specified in the structure SHOULD be validated against
the actual type of the device specified by <i>szDeviceName</i>. If the <b>szDeviceType</b>
is incorrect, the actual device type SHOULD be used by the server instead.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>dwLevel</p>
   </th>
   <th>
   <p>pInfoStruct-&gt;size</p>
   </th>
   <th>
   <p>pInfoStruct-&gt;pBuffer</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>
  <p>0</p>
  </td>
  <td>
  <p>Should be set to the size of <b>MPR_DEVICE_0 (section 2.2.1.2.85)</b>.
  </p>
  </td>
  <td>
  <p>This MUST be set to point to <b>MPR_DEVICE_0</b>.</p>
  </td>
 </tr><tr>
  <td>
  <p>1</p>
  </td>
  <td>
  <p>Should be set to the size of <b>MPR_DEVICE_1 (section 2.2.1.2.86)</b>.
  </p>
  </td>
  <td>
  <p>This MUST be set to a point to <b>MPR_DEVICE_1</b>.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p><b>dwIndex: </b>Specifies the 1-based index of the
device. A multilinked demand-dial interface uses multiple devices. If the
device information specified for <i>dwIndex</i> 1 is either a PPPoE interface
or a VPN interface, any other device information, specified (with <i>dwIndex</i>
&gt; 1), SHOULD be ignored. If the device information specified for <i>dwIndex</i>
1 is a serial or ISDN device, the connection SHOULD be treated as a
multilink-capable connection. Any other device information, specified (with <i>dwIndex</i>
&gt; 1), SHOULD be treated as device information for the individual links.
Device information with type <b>szDeviceType</b>, which is neither modem nor
ISDN, SHOULD<a id="Appendix_A_Target_311"></a><a aria-label="Product behavior note 311" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_311" data-linktype="relative-path">&lt;311&gt;</a> be ignored.</p><p><b>hInterface: </b>The unique identifier of an
interface. This can be obtained from <a href="72bead5c-821f-4e98-bacd-0de279552379" data-linktype="relative-path"><b>RRouterInterfaceCreate (section 3.1.4.13)</b></a>
or <a href="b4cc4f8f-e2bc-4e8f-a521-08a0558d3e44" data-linktype="relative-path"><b>RRouterInterfaceGetHandle (section 3.1.4.12)</b></a>.
Since the RRASM server does not maintain the interface handles, the RRAS server
implementation SHOULD check and ensure that this handle represents a valid
interface handle. </p><p><b>Return Values: </b>A 32-bit, unsigned integer value
that indicates return status. A return value of ERROR_SUCCESS (0x00000000)
indicates that the operation was completed successfully; otherwise it contains
an error code, as specified in <a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a>
or in section <a href="5c0c991a-0d3d-4fe5-9503-5128d0d49fe1" data-linktype="relative-path">2.2.4</a>.
All values that are not in the table that follows MUST be treated the same by
the RRASM client. </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_SUCCESS</p>
  <p>0x00000000</p>
  </td>
  <td>
  <p>The call was successful.</p>
  </td>
 </tr><tr>
  <td>
  <p>ERROR_ACCESS_DENIED</p>
  <p>0x00000005</p>
  </td>
  <td>
  <p>The calling application does not have sufficient
  privileges.</p>
  </td>
 </tr></tbody></table>
</dd></dl><p>The opnum field value for this method is 39.</p><p>When processing this call, the RRASM server MUST do the
following:</p><ul><li><p><span><span> 
</span></span>Validate, as specified in section <a href="9373431f-ed29-4639-9f8b-743267c9f9b6" data-linktype="relative-path">2.1.1.1</a>, whether this
method was called by a client that has access to the method. If the client does
not have access, then return error ERROR_ACCESS_DENIED.</p>
</li><li><p><span><span> 
</span></span>If <i>pInfoStruct</i> is NULL, return an error other than those
in the preceding table.</p>
</li><li><p><span><span> 
</span></span>If <i>dwLevel</i> is not supported, return an error other than
those in the preceding table.</p>
</li><li><p><span><span> 
</span></span>Call the abstract interface <b>Invoke DIMSVC</b> method
specifying the operation and the parameters to enable the RRAS server to
perform the required management task.</p>
</li><li><p><span><span> 
</span></span>Return the error status that is returned by the RRAS server while
processing the request. Otherwise return ERROR_SUCCESS.</p>
</li></ul><p>No exceptions are thrown beyond those thrown by the
underlying RPC protocol <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p></div>