<div class="content"><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>
  <p>PID_IPX</p>
  <p>0x0000002B</p>
  </td>
  <td>
  <p>IPX protocol</p>
  </td>
 </tr><tr>
  <td>
  <p>PID_IP</p>
  <p>0x00000021</p>
  </td>
  <td>
  <p>IPv4 protocol</p>
  </td>
 </tr><tr>
  <td>
  <p>PID_IPV6</p>
  <p>0x00000057</p>
  </td>
  <td>
  <p>IPv6 protocol</p>
  </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>
  <p>IP_INTERFACE_STATUS_INFO</p>
  <p>0xFFFF0004</p>
  </td>
  <td>
  <p>Interface IP status information is overwritten.</p>
  </td>
  <td>
  <p><a href="71de36ba-8cc5-4486-897f-18255b0a5bd3" data-linktype="relative-path">INTERFACE_STATUS_INFO (section 2.2.1.2.18)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_ROUTER_DISC_INFO</p>
  <p>0xFFFF0007</p>
  </td>
  <td>
  <p>Router discovery information is overwritten.</p>
  </td>
  <td>
  <p><a href="f7ffac77-b97e-415b-aed9-3203f785fb0d" data-linktype="relative-path">RTR_DISC_INFO (section 2.2.1.2.14)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_MCAST_BOUNDARY_INFO</p>
  <p>0xFFFF000B</p>
  </td>
  <td>
  <p>Multicast boundary information is added.</p>
  </td>
  <td>
  <p><a href="b9cc44e7-6047-4e0d-9bae-ffbd4b50b4e2" data-linktype="relative-path">MIB_BOUNDARYROW (section 2.2.1.2.24)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_IFFILTER_INFO</p>
  <p>0xFFFF000D</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p><a href="968cc06e-2533-4566-887d-d2917c5f0538" data-linktype="relative-path">IFFILTER_INFO (section 2.2.1.2.88)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_MCAST_LIMIT_INFO</p>
  <p>0xFFFF000E</p>
  </td>
  <td>
  <p>Multicast configuration information.</p>
  </td>
  <td>
  <p><a href="8e668e2d-0ccd-456f-b589-0d4dd97209a7" data-linktype="relative-path">MIB_MCAST_LIMIT_ROW (section 2.2.1.2.16)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_ROUTE_INFO</p>
  <p>0xFFFF0005</p>
  </td>
  <td>
  <p>The dwAdminStatus MUST be IF_ADMIN_STATUS_UP if the
  route information is added.</p>
  <p>If bV4 of <a href="784d8544-140a-4769-b659-7d3168de9242" data-linktype="relative-path">INTERFACE_ROUTE_INFO</a> is
  set, it indicates an IPv4 route is added; otherwise, an IPv6 route is added.</p>
  </td>
  <td>
  <p>INTERFACE_ROUTE_INFO (section 2.2.1.2.11)<br/>
   </p>
  </td>
 </tr><tr>
  <td>
  <p>IP_IN_FILTER_INFO</p>
  <p>0xFFFF0001</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p><a href="4df61e3b-10c2-486a-a8ae-e6613491116b" data-linktype="relative-path">FILTER_DESCRIPTOR (section 2.2.1.2.5)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_OUT_FILTER_INFO</p>
  <p>0xFFFF0002</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p>FILTER_DESCRIPTOR (section 2.2.1.2.5)<br/>
  <br/>
  </p>
  </td>
 </tr><tr>
  <td>
  <p>IP_DEMAND_DIAL_FILTER_INFO</p>
  <p>0xFFFF0009</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p>FILTER_DESCRIPTOR (section 2.2.1.2.5)<br/>
  <br/>
  </p>
  </td>
 </tr><tr>
  <td>
  <p>IP_IN_FILTER_INFO_V6</p>
  <p>0xFFFF0011</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p><a href="3d3c143f-3da6-45d0-9152-37baa976f3c8" data-linktype="relative-path">FILTER_DESCRIPTOR_V6 (section 2.2.1.2.7)<br/>
  </a> </p>
  </td>
 </tr><tr>
  <td>
  <p>IP_OUT_FILTER_INFO_V6</p>
  <p>0xFFFF0012</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p>FILTER_DESCRIPTOR_V6 (section 2.2.1.2.7)<br/>
   </p>
  </td>
 </tr><tr>
  <td>
  <p>IP_DEMAND_DIAL_FILTER_INFO_V6</p>
  <p>0xFFFF0013</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p>FILTER_DESCRIPTOR_V6 (section 2.2.1.2.7)<br/>
   </p>
  </td>
 </tr><tr>
  <td>
  <p>IP_IFFILTER_INFO_V6</p>
  <p>0xFFFF0014</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p>IFFILTER_INFO (section 2.2.1.2.88)<br/>
   </p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_BOOTP</p>
  <p>0x0000270F</p>
  </td>
  <td>
  <p>IP BOOTP interface information.</p>
  </td>
  <td>
  <p><a href="7c328ccb-406a-4e6c-9987-e89297d9ac89" data-linktype="relative-path">IPBOOTP_IF_CONFIG (section 2.2.1.2.150)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_IGMP</p>
  <p>0x4137000A</p>
  </td>
  <td>
  <p>IGMP interface information. It can only be set once.</p>
  </td>
  <td>
  <p><a href="a5faf030-9152-4e68-82a4-5451267586bb" data-linktype="relative-path">IGMP_MIB_IF_CONFIG (section 2.2.1.2.174)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_RIP</p>
  <p>0x00000008</p>
  </td>
  <td>
  <p>IP RIP interface information.</p>
  </td>
  <td>
  <p><a href="7053ff8a-73fc-4557-b7d5-fce2dccd9382" data-linktype="relative-path">IPRIP_IF_CONFIG (section 2.2.1.2.166)<br/>
  </a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_DHCP_ALLOCATOR</p>
  <p>0x81372714</p>
  </td>
  <td>
  <p>DHCP allocator interface information.</p>
  </td>
  <td>
  <p>IP_AUTO_DHCP_INTERFACE_INFO (section <a href="5e791bf2-b33e-45a5-a6da-4a7aac04acba" data-linktype="relative-path">2.2.1.2.192)</a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_DNS_PROXY</p>
  <p>0x81372713</p>
  </td>
  <td>
  <p>DNS proxy interface information. </p>
  </td>
  <td>
  <p>IP_DNS_PROXY_INTERFACE_INFO (section <a href="fd724ece-760f-4cd1-8f20-2fb1e587492b" data-linktype="relative-path">2.2.1.2.194)</a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_NAT</p>
  <p>0x81372715</p>
  </td>
  <td>
  <p>IP NAT interface information. </p>
  </td>
  <td>
  <p>IP_NAT_INTERFACE_INFO (section <a href="a16a3b99-8c59-44fa-b74f-d154f0eca5f9" data-linktype="relative-path">2.2.1.2.197)</a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IP_OSPF<a id="Appendix_A_Target_279"></a><a aria-label="Product behavior note 279" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_279" data-linktype="relative-path">&lt;279&gt;</a></p>
  <p>0x0000000D</p>
  </td>
  <td>
  <p>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.</p>
  </td>
  <td>
  <p>OSPF_INTERFACE_PARAM (section <a href="a74c9676-a5d5-4075-833b-b2276942f482" data-linktype="relative-path">2.2.1.2.215</a>,
  OSPF_NBMA_NEIGHBOR_PARAM (section <a href="d5c8a58c-ce43-4791-9ffd-59e28a5b9b54" data-linktype="relative-path">2.2.1.2.216)</a></p>
  </td>
 </tr><tr>
  <td>
  <p>MS_IPV6_DHCP</p>
  <p>0x000003E7</p>
  </td>
  <td>
  <p>DHCPv6 Relay interface information. It can only be set
  once.</p>
  </td>
  <td>
  <p><a href="b769ac0a-a546-46b2-9f81-afc05bf5bd91" data-linktype="relative-path">DHCPV6R_IF_CONFIG (section 2.2.1.2.159)<br/>
  </a></p>
  </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>
  <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, as specified in section <a href="9373431f-ed29-4639-9f8b-743267c9f9b6" data-linktype="relative-path">2.1.1.1</a>.</p>
  </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>