3.1.4.19 RRouterInterfaceTransportGetInfo (Opnum 18)

The RRouterInterfaceTransportGetInfo method<271> retrieves information about a transport running on a specified interface. The information retrieved is of the type RTR_INFO_BLOCK_HEADER (section 2.2.1.2.3), encapsulated within a DIM_INTERFACE_CONTAINER (section 2.2.1.2.2).

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

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

hInterface: The unique identifier of an interface. This can be obtained from RRouterInterfaceCreate (section 3.1.4.13) or RRouterInterfaceGetHandle (section 3.1.4.12). Since the RRASM server does not maintain the interface handles, the RRAS server SHOULD check and ensure that this handle is a valid interface handle.

dwTransportId: Specifies the transport for which the information is retrieved (IPX, IPv4, or IPv6). It MUST be one of the following values.<272> Otherwise an error other than those in the return values table is returned.

Value

Meaning

PID_IPX

0x0000002B

IPX protocol

PID_IP

0x00000021

IPv4 protocol

PID_IPV6

0x00000057

IPv6 protocol<273>

pInfoStruct: This is a pointer of type DIM_INTERFACE_CONTAINER. It MUST NOT be NULL.

fGetInterfaceInfo of DIM_INTERFACE_CONTAINER MUST be set to 1.

On completion of the method, pInterfaceInfo and dwInterfaceInfoSize of the pInfoStruct fields are set. pInterfaceInfo points to a valid RTR_INFO_BLOCK_HEADER (section 2.2.1.2.3) and RTR_TOC_ENTRY (section 2.2.1.2.4) on return.

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, as specified in section 2.1.1.1.

The opnum field value for this method is 18.

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 those in the preceding table.

  • If dwTransportId is not specified in the SupportedTransportsList, return an error other than those 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 processing returns successfully, populate the interface information returned by RRAS server in pInfoStruct and return ERROR_SUCCESS (0x00000000).

  • Otherwise return the error result provided by RRAS server.

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