<div class="content"><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>
  <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>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>
  <p>IP_PROT_PRIORITY_INFO</p>
  <p>0xFFFF0006</p>
  </td>
  <td>
  <p>IPv4 and IPv6 route priority information is specified.</p>
  </td>
  <td>
  <p><a href="911cf24d-db4e-4681-bdb2-827edb904200" data-linktype="relative-path"><b>PRIORITY_INFO (section 2.2.1.2.12)</b></a><span>  </span></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_PROT_PRIORITY_INFO_EX</p>
  <p>0xFFFF0017</p>
  </td>
  <td>
  <p>IPv4 and IPv6 route priority information is specified.</p>
  </td>
  <td>
  <p><a href="bd2b7eb4-1a20-469a-ac87-0aea5660d381" data-linktype="relative-path"><b>PRIORITY_INFO_EX (section 2.2.1.2.266)</b></a><span> </span></p>
  </td>
 </tr><tr>
  <td>
  <p>IPV6_GLOBAL_INFO</p>
  <p>0xFFFF000F</p>
  </td>
  <td>
  <p>Global lPv6 logging and filtering information.</p>
  </td>
  <td>
  <p><a href="00b80943-db2f-48a5-85f0-ba65210b744f" data-linktype="relative-path"><b>GLOBAL_INFO (section 2.2.1.2.9)</b></a><span>  </span></p>
  </td>
 </tr><tr>
  <td>
  <p>IP_GLOBAL_INFO</p>
  <p>0xFFFF0003</p>
  </td>
  <td>
  <p>Global lPv4 logging and filtering information.</p>
  </td>
  <td>
  <p><b>GLOBAL_INFO (section 2.2.1.2.9)</b><span>  </span></p>
  </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>
  <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 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>