<div class="content" name="RRouterInterfaceTransportCreate" uuid="9829344c-f22b-4d53-946b-20542ec43be4"><p>The <b>RRouterInterfaceTransportCreate</b> method<a id="Appendix_A_Target_306"></a><a aria-label="Product behavior note 306" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_306" data-linktype="relative-path">&lt;306&gt;</a> is used to create a new
transport on the RRAS server.</p><dl>
<dd>
<div><pre> DWORD RRouterInterfaceTransportCreate(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD dwTransportId,
   [in, string] LPWSTR lpwsTransportName,
   [in] PDIM_INTERFACE_CONTAINER pInfoStruct,
   [in, string] LPWSTR lpwsDLLPath
 );
</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>dwTransportId: </b>Specifies the transport for which the information
is set (IPX, IPv4, or IPv6). It MUST be set to one of the following values.<a id="Appendix_A_Target_307"></a><a aria-label="Product behavior note 307" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_307" data-linktype="relative-path">&lt;307&gt;</a></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>lpwsTransportName: </b>Pointer to a
null-terminated <a href="fc2dfae9-0d04-4e1d-97c9-c51c2dc06c3b#gt_c305d0ab-8b94-461a-bd76-13b40cb8c4d8" data-linktype="relative-path">Unicode</a>
string that specifies the name of the transport being added. If this parameter
is not specified, the <i>dwTransportId</i> parameter is converted into a string
and used as the transport name.</p><p><b>pInfoStruct: </b>Pointer to a <a href="61dfdb82-d5dd-4589-86ec-3aeb6b64ea20" data-linktype="relative-path"><b>DIM_INTERFACE_CONTAINER (section 2.2.1.2.2)</b></a>.
This MUST NOT be NULL. The <b>pGlobalInfo</b> member of the <b>DIM_INTERFACE_CONTAINER
</b>MUST NOT be NULL and MUST point to a valid <a href="402d2cc2-dd94-487a-9bb1-fab6728c3e7d" data-linktype="relative-path"><b>RTR_INFO_BLOCK_HEADER (section 2.2.1.2.3)</b></a>
and <a href="c99955ec-6d18-4665-8d5b-e124de63a368" data-linktype="relative-path"><b>RTR_TOC_ENTRY (section 2.2.1.2.4)</b></a>.    
</p><dl>
<dd>
<p>If <i>dwTransportId</i> is PID_IP or PID_IPV6, one
or more of the following entries MUST be set in the <b>InfoType</b> field in
the RTR_TOC_ENTRY (section 2.2.1.2.4) structure while passing to the
method.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning and conditions</p>
   </th>
   <th>
   <p>Structure pointed to at offset</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>IP_PROT_PRIORITY_INFO 0xFFFF0006</td>
  <td>IPv4 and IPv6 route priority information is specified.</td>
  <td>PRIORITY_INFO (section 2.2.1.2.12)</td>
 </tr><tr>
  <td>IP_PROT_PRIORITY_INFO_EX 0xFFFF0017</td>
  <td>IPv4 and IPv6 route priority information is specified.</td>
  <td>PRIORITY_INFO_EX (section 2.2.1.2.266)</td>
 </tr><tr>
  <td>IPV6_GLOBAL_INFO 0xFFFF000F</td>
  <td>Global lPv6 logging and filtering information.</td>
  <td>GLOBAL_INFO (section 2.2.1.2.9)</td>
 </tr><tr>
  <td>IP_GLOBAL_INFO 0xFFFF0003</td>
  <td>Global lPv4 logging and filtering information.</td>
  <td>GLOBAL_INFO (section 2.2.1.2.9)</td>
 </tr></tbody></table>
</dd></dl><p><b>lpwsDLLPath: </b>Pointer to a null-terminated
Unicode string that specifies the name of the router manager DLL for the
specified transport. If this name is specified, the function sets the DLL path
for this transport to this name.<a id="Appendix_A_Target_308"></a><a aria-label="Product behavior note 308" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_308" data-linktype="relative-path">&lt;308&gt;</a></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>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.</td>
 </tr></tbody></table>
</dd></dl><p>The opnum field value for this method is 37.</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 (0x00000005).</p>
</li><li><p><span><span> 
</span></span>If <i>pInfoStruct</i> is NULL, return an error other than one of
the errors specified in the preceding table.</p>
</li><li><p><span><span> 
</span></span>If <i>dwTransportId</i> is not specified in the <b>SupportedTransportsList</b>,
return an error other than one of the errors 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 RRAS server to perform
the required management task.</p>
</li><li><p><span><span> 
</span></span>Return any error status returned by the RRAS server. 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>