3.1.4.42 RRouterInterfaceGetCredentialsEx (Opnum 41)

The RRouterInterfaceGetCredentialsEx method<313> is used to retrieve extended (other than the username or password) credentials information for the specified interface.

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

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

dwLevel: Specifies the format of credentials information. This parameter takes values 0x00000000, 0x00000001, 0x00000002, or 0x00000003. An error other than one of the errors in the return values table is returned for other values. A value of 0x00000000 indicates that the credentials information is about the EAP configuration. If the interface does not have EAP information, the dwSize field of the MPR_CREDENTIALSEX_1 (section 2.2.1.2.87)structure MUST be set to zero (0). Otherwise, the MPR_CREDENTIALSEX_1 structure MUST contain EAPTLS_USER_PROPERTIES (section 2.2.1.2.128). A value of 0x00000001, 0x00000002, or 0x00000003 indicates that the credentials information is a preshared key. If the interface does not have a preshared key configured, an error other than one of the errors in the return values table is returned. Otherwise, the preshared key is formatted as an MPR_CREDENTIALSEX_1 structure.

pInfoStruct: Pointer to a MPR_CREDENTIALSEX_1 structure that contains the preshared key or EAP information for the interface. When the method completes successfully, the client SHOULD free this memory.

hInterface: A handle to the interface. This can be obtained from RRouterInterfaceCreate (section 3.1.4.13) or RRouterInterfaceGetHandle (section 3.1.4.12). The interface MUST be of type ROUTER_IF_TYPE_FULL_ROUTER if dwLevel is 0x00000000.

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

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.

  • 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 the RRAS server returns while processing the request. Otherwise return ERROR_SUCCESS (0x00000000).

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