<div class="content" name="RRouterInterfaceTransportGetGlobalInfo" uuid="14ad8d26-d7d7-48dd-914d-da962d5d7049"><p>The <b>RRouterInterfaceTransportGetGlobalInfo</b> method<a id="Appendix_A_Target_256"></a><a aria-label="Product behavior note 256" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_256" data-linktype="relative-path">&lt;256&gt;</a> is used to get the entire
global information for the specified transport.</p><dl>
<dd>
<div><pre> DWORD RRouterInterfaceTransportGetGlobalInfo(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD dwTransportId,
   [in, out] PDIM_INTERFACE_CONTAINER pInfoStruct
 );
</pre></div>
</dd></dl><p><b>hDimServer: </b>A handle to the RRASM server where
the call is 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 one of the
following values.<a id="Appendix_A_Target_257"></a><a aria-label="Product behavior note 257" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_257" data-linktype="relative-path">&lt;257&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>pInfoStruct: </b>Pointer to <a href="95609dbb-56aa-4b1b-a0e2-697864a141bd" data-linktype="relative-path"><b>DIM_INTERFACE_CONTAINER (section 2.2.1.2.1)</b></a>.
This pointer MUST NOT be NULL when calling this method and is allocated to the
size of the <b>DIM_INTERFACE_CONTAINER</b> structure. On successful completion,
the structure is populated with a <b>DIM_INTERFACE_CONTAINER</b> structure
having valid values for <b>dwGlobalInfoSize</b> and <b>pGlobalInfo</b> fields
which the caller SHOULD free when done using it.  </p><dl>
<dd>
<p>The <b>fGetGlobalInfo</b> of <b>DIM_INTERFACE_CONTAINER</b>
MUST be set to 1. The rest of the <b>DIM_INTERFACE_CONTAINER</b> fields SHOULD
not be set. </p>
</dd>
<dd>
<p>The <b>pGlobalInfo</b> and <b>dwGlobalInfoSize</b>
members of <b>DIM_INTERFACE_CONTAINER</b> will be populated on successful
completion of this method.</p>
</dd>
<dd>
<p>The pGlobalInfo member will 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>
</dd>
<dd>
<p>On successful completion <b>dwGlobalInfoSize</b>
will be set to the size of the information being passed in <b>pGlobalInfo</b>.</p>
</dd>
<dd>
<p>If <i>dwTransportId</i> is PID_IP or PID_IP6 and if
the <b>InfoType</b> field in the RTR_TOC_ENTRY structure is one of the
following, <b>pGlobalInfo</b> MUST be interpreted as the structure in the
following table.</p>
</dd>
<dd>
<table><thead>
  <tr>
   <th>
   <p>InfoType value</p>
   </th>
   <th>
   <p>Meaning </p>
   </th>
   <th>
   <p>Structure pointed to by pGlobalInfo</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>MS_IP_BOOTP 0x0000270F</td>
  <td>IP BOOTP global configuration information.</td>
  <td>IPBOOTP_GLOBAL_CONFIG (section 2.2.1.2.149)</td>
 </tr><tr>
  <td>MS_IP_IGMP 0x4137000A</td>
  <td>IGMP global configuration.</td>
  <td>IGMP_MIB_GLOBAL_CONFIG (section 2.2.1.2.173)</td>
 </tr><tr>
  <td>MS_IP_RIP 0x00000008</td>
  <td>IP RIP global configuration information.</td>
  <td>IPRIP_GLOBAL_CONFIG (section 2.2.1.2.164) (values specified are overwritten)</td>
 </tr><tr>
  <td>MS_IP_BGP 0x0137000E</td>
  <td>BGP configuration.</td>
  <td>When dwTransportId is PID_IP, the structure pointed to, at the offset is BGP_CONFIG_HEADER (section 2.2.1.2.252). When dwTransportId is PID_IP6, the structure pointed to, at the offset is BGP_ROUTER_V6 (section 2.2.1.2.265).</td>
 </tr><tr>
  <td>MS_IP_DHCP_ALLOCATOR 0x81372714</td>
  <td>DHCP global configuration information.</td>
  <td>IP_AUTO_DHCP_GLOBAL_INFO (section 2.2.1.2.191) (values specified are overwritten)</td>
 </tr><tr>
  <td>MS_IP_DNS_PROXY 0x81372713</td>
  <td>DNS proxy global configuration information.</td>
  <td>IP_DNS_PROXY_GLOBAL_INFO (section 2.2.1.2.193) (values specified are overwritten)</td>
 </tr><tr>
  <td>MS_IP_OSPF&lt;258&gt; 0x0000000D</td>
  <td>OSPF global configuration information specified is retrieved. The type field is the first field in each of the structures and this defines which of the structures MUST be used. The type field MUST be OSPF_PARAM_TYPE (section 2.2.1.1.14) and the value MUST be corresponding to the structures specified.</td>
  <td>OSPF_ROUTE_FILTER_INFO (section 2.2.1.2.209) OSPF_PROTO_FILTER_INFO (section 2.2.1.2.210) OSPF_GLOBAL_PARAM (section 2.2.1.2.211) OSPF_ROUTE_FILTER (section 2.2.1.2.208)</td>
 </tr><tr>
  <td>MS_IP_ALG&lt;259&gt; 0x8137271A</td>
  <td>Application layer gateway global configuration.</td>
  <td>IP_ALG_GLOBAL_INFO (section 2.2.1.2.201)</td>
 </tr><tr>
  <td>MS_IPV6_DHCP 0x000003E7</td>
  <td>DHCPv6 Relay global configuration information.</td>
  <td>DHCPV6R_GLOBAL_CONFIG (section 2.2.1.2.157)</td>
 </tr><tr>
  <td>MS_IP_NAT 0x81372715</td>
  <td>IP NAT global configuration information.</td>
  <td>IP_NAT_GLOBAL_INFO (section 2.2.1.2.195)</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.</td>
 </tr></tbody></table>
</dd></dl><p>The opnum field value for this method is 10.</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 <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>If the RRAS server successfully processes the request, populate
the returned information in the <i>pInfoStruct</i> with the information
returned by the RRAS server and return ERROR_SUCCESS.</p>
</li><li><p><span><span> 
</span></span>Otherwise return the error value provided by the RRAS server.</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>