<div class="content" name="RRouterInterfaceTransportSetInfo" uuid="209ba5e7-876e-4406-a05c-65b7e5fb2380"><p>The <b>RRouterInterfaceTransportSetInfo</b> method SHOULD<a id="Appendix_A_Target_276"></a><a aria-label="Product behavior note 276" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_276" data-linktype="relative-path">&lt;276&gt;</a> set information about a
transport running on a specified interface. The information is overwritten
using the type <a href="402d2cc2-dd94-487a-9bb1-fab6728c3e7d" data-linktype="relative-path"><b>RTR_INFO_BLOCK_HEADER (section 2.2.1.2.3)</b></a>,
encapsulated within a <a href="61dfdb82-d5dd-4589-86ec-3aeb6b64ea20" data-linktype="relative-path"><b>DIM_INTERFACE_CONTAINER (section 2.2.1.2.2)</b></a>.   
</p><dl>
<dd>
<div><pre> DWORD RRouterInterfaceTransportSetInfo(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD hInterface,
   [in] DWORD dwTransportId,
   [in] PDIM_INTERFACE_CONTAINER pInfoStruct
 );
</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>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>.
Because the RRASM server does not maintain the interface handles, the RRAS
server SHOULD check and ensure that this handle represents a valid interface
handle.  </p><p><b>dwTransportId: </b>Specifies the transport for
which the information is set (IPX, IPv4, or IPv6). It MUST be one of the
following values.<a id="Appendix_A_Target_277"></a><a aria-label="Product behavior note 277" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_277" data-linktype="relative-path">&lt;277&gt;</a> Otherwise an error other than
those in the return values table is returned.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>PID_IPX 0x0000002B</td>
  <td>IPX protocol</td>
 </tr><tr>
  <td>PID_IP 0x00000021</td>
  <td>IPv4 protocol</td>
 </tr><tr>
  <td>PID_IPV6 0x00000057</td>
  <td>IPv6 protocol</td>
 </tr></tbody></table>
</dd></dl><p><b>pInfoStruct: </b>This is a pointer of type <b>DIM_INTERFACE_CONTAINER</b>.</p><p><b>pInterfaceInfo</b> and <b>dwInterfaceInfoSize</b>
of <b>PDIM_INTERFACE_CONTAINER</b> MUST be set. The rest of the fields are
ignored. The RRASM server does not store the interface configurations for the
various transports that the RRAS server supports. The RRAS server SHOULD check
that the <b>InfoType</b> field of <a href="c99955ec-6d18-4665-8d5b-e124de63a368" data-linktype="relative-path"><b>RTR_TOC_ENTRY (section 2.2.1.2.4)</b></a>
is supported.   </p><dl>
<dd>
<p>Only a combination of the following entries of <b>RTR_TOC_ENTRY</b>
MUST be present in <b>pInterfaceInfo</b>.<a id="Appendix_A_Target_278"></a><a aria-label="Product behavior note 278" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_278" data-linktype="relative-path">&lt;278&gt;</a></p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning and conditions (interface means the one
   identified by hInterface)</p>
   </th>
   <th>
   <p>Structure pointed to at offset</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>IP_INTERFACE_STATUS_INFO 0xFFFF0004</td>
  <td>Interface IP status information is overwritten.</td>
  <td>INTERFACE_STATUS_INFO (section 2.2.1.2.18)</td>
 </tr><tr>
  <td>IP_ROUTER_DISC_INFO 0xFFFF0007</td>
  <td>Router discovery information is overwritten.</td>
  <td>RTR_DISC_INFO (section 2.2.1.2.14)</td>
 </tr><tr>
  <td>IP_MCAST_BOUNDARY_INFO 0xFFFF000B</td>
  <td>Multicast boundary information is added.</td>
  <td>MIB_BOUNDARYROW (section 2.2.1.2.24)</td>
 </tr><tr>
  <td>IP_IFFILTER_INFO 0xFFFF000D</td>
  <td>IP interface filter information is overwritten. The interface MUST NOT be of type ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_LOOPBACK, or ROUTER_IF_TYPE_DIALOUT.</td>
  <td>IFFILTER_INFO (section 2.2.1.2.88)</td>
 </tr><tr>
  <td>IP_MCAST_LIMIT_INFO 0xFFFF000E</td>
  <td>Multicast configuration information.</td>
  <td>MIB_MCAST_LIMIT_ROW (section 2.2.1.2.16)</td>
 </tr><tr>
  <td>IP_ROUTE_INFO 0xFFFF0005</td>
  <td>The dwAdminStatus MUST be IF_ADMIN_STATUS_UP if the route information is added. If bV4 of INTERFACE_ROUTE_INFO is set, it indicates an IPv4 route is added; otherwise, an IPv6 route is added.</td>
  <td>INTERFACE_ROUTE_INFO (section 2.2.1.2.11)</td>
 </tr><tr>
  <td>IP_IN_FILTER_INFO 0xFFFF0001</td>
  <td>This is the input filter that MUST be applied to IP packets sent to the RRAS server. The information is overwritten. The interface MUST NOT be of type ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_LOOPBACK, or ROUTER_IF_TYPE_DIALOUT.</td>
  <td>FILTER_DESCRIPTOR (section 2.2.1.2.5)</td>
 </tr><tr>
  <td>IP_OUT_FILTER_INFO 0xFFFF0002</td>
  <td>This is the output filter that MUST be applied to IP packets sent from the RRAS server. The information is overwritten. The interface MUST NOT be of type ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_LOOPBACK, or ROUTER_IF_TYPE_DIALOUT.</td>
  <td>FILTER_DESCRIPTOR (section 2.2.1.2.5)</td>
 </tr><tr>
  <td>IP_DEMAND_DIAL_FILTER_INFO 0xFFFF0009</td>
  <td>IPv4 traffic that matches this filter indicates that there is a site-to-site connection available into which all the IPv4 packets (matching this filter) are routed. The information is overwritten. The interface MUST be of type ROUTER_IF_TYPE_FULL_ROUTER or ROUTER_IF_TYPE_HOME_ROUTER.</td>
  <td>FILTER_DESCRIPTOR (section 2.2.1.2.5)</td>
 </tr><tr>
  <td>IP_IN_FILTER_INFO_V6 0xFFFF0011</td>
  <td>This is the input filter that MUST be applied to IPv6 packets sent to the RRAS server. The information is overwritten. The interface MUST NOT be of type ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_LOOPBACK, or ROUTER_IF_TYPE_DIALOUT.</td>
  <td>FILTER_DESCRIPTOR_V6 (section 2.2.1.2.7)</td>
 </tr><tr>
  <td>IP_OUT_FILTER_INFO_V6 0xFFFF0012</td>
  <td>This is the output filter that MUST be applied to IPv6 packets sent from the RRAS server. The information is overwritten. The interface MUST NOT be of type ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_LOOPBACK, or ROUTER_IF_TYPE_DIALOUT.</td>
  <td>FILTER_DESCRIPTOR_V6 (section 2.2.1.2.7)</td>
 </tr><tr>
  <td>IP_DEMAND_DIAL_FILTER_INFO_V6 0xFFFF0013</td>
  <td>IPv6 traffic that matches this filter indicates that a site-to-site connection MUST be available and all IPv6 packets matching this filter MUST be routed into the connection. The interface MUST be of type ROUTER_IF_TYPE_FULL_ROUTER or ROUTER_IF_TYPE_HOME_ROUTER. The filters are overwritten.</td>
  <td>FILTER_DESCRIPTOR_V6 (section 2.2.1.2.7)</td>
 </tr><tr>
  <td>IP_IFFILTER_INFO_V6 0xFFFF0014</td>
  <td>The IPv6 interface filter information is overwritten. The interface MUST NOT be of type ROUTER_IF_TYPE_INTERNAL, ROUTER_IF_TYPE_LOOPBACK, or ROUTER_IF_TYPE_DIALOUT.</td>
  <td>IFFILTER_INFO (section 2.2.1.2.88)</td>
 </tr><tr>
  <td>MS_IP_BOOTP 0x0000270F</td>
  <td>IP BOOTP interface information.</td>
  <td>IPBOOTP_IF_CONFIG (section 2.2.1.2.150)</td>
 </tr><tr>
  <td>MS_IP_IGMP 0x4137000A</td>
  <td>IGMP interface information. It can only be set once.</td>
  <td>IGMP_MIB_IF_CONFIG (section 2.2.1.2.174)</td>
 </tr><tr>
  <td>MS_IP_RIP 0x00000008</td>
  <td>IP RIP interface information.</td>
  <td>IPRIP_IF_CONFIG (section 2.2.1.2.166)</td>
 </tr><tr>
  <td>MS_IP_DHCP_ALLOCATOR 0x81372714</td>
  <td>DHCP allocator interface information.</td>
  <td>IP_AUTO_DHCP_INTERFACE_INFO (section 2.2.1.2.192)</td>
 </tr><tr>
  <td>MS_IP_DNS_PROXY 0x81372713</td>
  <td>DNS proxy interface information.</td>
  <td>IP_DNS_PROXY_INTERFACE_INFO (section 2.2.1.2.194)</td>
 </tr><tr>
  <td>MS_IP_NAT 0x81372715</td>
  <td>IP NAT interface information.</td>
  <td>IP_NAT_INTERFACE_INFO (section 2.2.1.2.197)</td>
 </tr><tr>
  <td>MS_IP_OSPF&lt;279&gt; 0x0000000D</td>
  <td>OSPF interface information is set. This MUST end the configuration buffer by OSPF_END_PARAM_TYPE. If passed with any other structure, it will return an error.</td>
  <td>OSPF_INTERFACE_PARAM (section 2.2.1.2.215, OSPF_NBMA_NEIGHBOR_PARAM (section 2.2.1.2.216)</td>
 </tr><tr>
  <td>MS_IPV6_DHCP 0x000003E7</td>
  <td>DHCPv6 Relay interface information. It can only be set once.</td>
  <td>DHCPV6R_IF_CONFIG (section 2.2.1.2.159)</td>
 </tr></tbody></table>
</dd></dl><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>ERROR_SUCCESS 0x00000000</td>
  <td>The call was successful.</td>
 </tr><tr>
  <td>ERROR_ACCESS_DENIED 0x00000005</td>
  <td>The calling application does not have sufficient privileges, as specified in section 2.1.1.1.</td>
 </tr></tbody></table>
</dd></dl><p>The Opnum field value for this method is 19.</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 2.1.1.1, 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 (0x00000005).</p>
</li><li><p><span><span> 
</span></span>If <b>pInfoStruct</b> is NULL, return an error other than those
in the preceding table.</p>
</li><li><p><span><span> 
</span></span>If <b>dwTransportId</b> is not specified in <b>SupportedTransportsList</b>,
return an error other than those specified 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 any processing error that the RRAS server fails with.
Otherwise return ERROR_SUCCESS (0x00000000).</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>