3.1.4.11 RRouterInterfaceTransportGetGlobalInfo (Opnum 10)

The RRouterInterfaceTransportGetGlobalInfo method<256> is used to get the entire global information for the specified transport.

 DWORD RRouterInterfaceTransportGetGlobalInfo(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD dwTransportId,
   [in, out] PDIM_INTERFACE_CONTAINER pInfoStruct
 );

hDimServer: A handle to the RRASM server where the call is executed, see section 3.1.3.

dwTransportId: Specifies the transport for which the information is set (IPX, IPv4, or IPv6).  It MUST be one of the following values.<257>

Value

Meaning

PID_IPX

0x0000002B

IPX protocol

PID_IP

0x00000021

IPv4 protocol

PID_IPV6

0x00000057

IPv6 protocol

pInfoStruct: Pointer to DIM_INTERFACE_CONTAINER (section 2.2.1.2.1). This pointer MUST NOT be NULL when calling this method and is allocated to the size of the DIM_INTERFACE_CONTAINER structure. On successful completion, the structure is populated with a DIM_INTERFACE_CONTAINER structure having valid values for dwGlobalInfoSize and pGlobalInfo fields which the caller SHOULD free when done using it. 

The fGetGlobalInfo of DIM_INTERFACE_CONTAINER MUST be set to 1. The rest of the DIM_INTERFACE_CONTAINER fields SHOULD not be set.

The pGlobalInfo and dwGlobalInfoSize members of DIM_INTERFACE_CONTAINER will be populated on successful completion of this method.

The pGlobalInfo member will point to a valid RTR_INFO_BLOCK_HEADER (section 2.2.1.2.3) and RTR_TOC_ENTRY (section 2.2.1.2.4).  

On successful completion dwGlobalInfoSize will be set to the size of the information being passed in pGlobalInfo.

If dwTransportId is PID_IP or PID_IP6 and if the InfoType field in the RTR_TOC_ENTRY structure is one of the following, pGlobalInfo MUST be interpreted as the structure in the following table.

InfoType value

Meaning

Structure pointed to by pGlobalInfo

MS_IP_BOOTP

0x0000270F

IP BOOTP global configuration information.

IPBOOTP_GLOBAL_CONFIG (section 2.2.1.2.149)

MS_IP_IGMP

0x4137000A

IGMP global configuration.

IGMP_MIB_GLOBAL_CONFIG (section 2.2.1.2.173)

MS_IP_RIP

0x00000008

IP RIP global configuration information.

IPRIP_GLOBAL_CONFIG (section 2.2.1.2.164) (values specified are overwritten)

MS_IP_BGP

0x0137000E

BGP configuration.

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).

MS_IP_DHCP_ALLOCATOR

0x81372714

DHCP global configuration information.

IP_AUTO_DHCP_GLOBAL_INFO (section 2.2.1.2.191) (values specified are overwritten)

MS_IP_DNS_PROXY

0x81372713

DNS proxy global configuration information.

IP_DNS_PROXY_GLOBAL_INFO (section 2.2.1.2.193) (values specified are overwritten)

MS_IP_OSPF<258>

0x0000000D

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.

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)

MS_IP_ALG<259>

0x8137271A

Application layer gateway global configuration.

IP_ALG_GLOBAL_INFO (section 2.2.1.2.201)

MS_IPV6_DHCP

0x000003E7

DHCPv6 Relay global configuration information.

DHCPV6R_GLOBAL_CONFIG (section 2.2.1.2.157)

MS_IP_NAT

0x81372715

IP NAT global configuration information.

IP_NAT_GLOBAL_INFO (section 2.2.1.2.195)

Return Values: 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 [MS-ERREF] or in section 2.2.4. All values that are not in the table that follows MUST be treated the same by the RRASM client.

Return value/code

Description

ERROR_SUCCESS

0x00000000

The call was successful.

ERROR_ACCESS_DENIED

0x00000005

The calling application does not have sufficient privileges.

The opnum field value for this method is 10.

When processing this call, the RRASM server MUST do the following:

  • 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).

  • If pInfoStruct is NULL, return an error other than one of the errors specified in the preceding table.

  • If dwTransportId is not specified in SupportedTransportsList, return an error other than one of the errors specified in the preceding table.

  • Call the abstract interface Invoke DIMSVC method specifying the operation and the parameters to enable RRAS server to perform the required management task.

  • If the RRAS server successfully processes the request, populate the returned information in the pInfoStruct with the information returned by the RRAS server and return ERROR_SUCCESS.

  • Otherwise return the error value provided by the RRAS server.

No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].