3.1.4.15 RRouterInterfaceSetInfo (Opnum 14)

The RRouterInterfaceSetInfo method<264> sets information for a specified interface, hInterface, on a specified server, hDimServer.

 DWORD RRouterInterfaceSetInfo(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD dwLevel,
   [in] PDIM_INFORMATION_CONTAINER pInfoStruct,
   [in] DWORD hInterface
 );

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

dwLevel: This is of type DWORD and SHOULD be set to any of the following values.

Value

Meaning

0

 pInfoStruct->pBuffer MUST be set to point to a MPRI_INTERFACE_0 (section 2.2.1.2.81).

1

pInfoStruct->pBuffer MUST be set to point to a MPRI_INTERFACE_1 (section 2.2.1.2.82)

2

pInfoStruct->pBuffer MUST be set to point to a MPRI_INTERFACE_2 (section 2.2.1.2.83)

3

pInfoStruct->pBuffer MUST be set to point to a MPRI_INTERFACE_3 (section 2.2.1.2.84).<265>

pInfoStruct: This is a pointer of type DIM_INFORMATION_CONTAINER (section 2.2.1.2.1) and MUST be set to the following, based on dwLevel.

dwLevel

pInfoStruct->size

pInfoStruct->pBuffer

0

This MUST be set to the size of the data being passed in MPRI_INTERFACE_0 (section 2.2.1.2.81).

This MUST be set to point to MPRI_INTERFACE_0.

Only the fEnabled field of this structure can be modified; the rest of the fields MUST be populated as returned by RRouterInterfaceGetInfo (section 3.1.4.14).

1

This MUST be set to the size of the data being passed in MPRI_INTERFACE_1 (section 2.2.1.2.82).

This MUST be set to point to MPRI_INTERFACE_1.

In addition to the fields for MPRI_INTERFACE_0, lpwsDialoutHoursRestriction can be set. Setting other values has no effect. The values MUST be populated as returned by RRouterInterfaceGetInfo.

2

This MUST be set to the size of MPRI_INTERFACE_2 (section 2.2.1.2.83). Otherwise, an error is returned.

This MUST be set to point to MPRI_INTERFACE_2.

The dwIfType of MPRI_INTERFACE_0 MUST be set to ROUTER_IF_TYPE_FULL_ROUTER.

The szAlternates of MPRI_INTERFACE_2 MUST be set to 0.

3

This MUST be set to the size of MPRI_INTERFACE_3 (section 2.2.1.2.84). Otherwise, an error is returned.

This MUST be set to point to MPRI_INTERFACE_3.

The dwIfType of MPRI_INTERFACE_3 MUST be set to ROUTER_IF_TYPE_FULL_ROUTER.

The szAlternates of MPRI_INTERFACE_0 MUST be set to 0. The values of the ipv6addrDns and ipv6addrDnsAlt members of MPRI_INTERFACE_3 SHOULD be ignored by the server.

If the interface type, specified at the time the interface was created using RRouterInterfaceCreate (section 3.1.4.13), is either ROUTER_IF_TYPE_DEDICATED or ROUTER_IF_TYPE_INTERNAL and if fEnabled is set to FALSE, an error is returned. 

When the dwLevel value is either 2 or 3 and the dwfOptions member does not contain any of the flags MPRIO_RequirePAP, MPRIO_RequireCHAP, MPRIO_RequireMsCHAP2, or MPRIO_RequireEAP, then the dwfOptions value SHOULD be modified to enable MPRIO_RequireMsCHAP2, MPRIO_RequireCHAP, and MPRIO_RequirePAP.

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

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

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 dwLevel is not supported, return an error other than those in the preceding table.

  • If the hInterface value specified is not associated with an interface entry in InterfaceList that has a matching interface handle (value being the same), 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.

  • Return any error that the RRAS server returns while processing this request. Otherwise return ERROR_SUCCESS (0x00000000).

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