3.1.4.29 RMIBEntrySet (Opnum 28)
The RMIBEntrySet method<290> modifies an MIB entry in the IPv4 forwarding table.
-
DWORD RMIBEntrySet( [in] DIM_HANDLE hDimServer, [in] DWORD dwPid, [in] DWORD dwRoutingPid, [in] PDIM_MIB_ENTRY_CONTAINER pInfoStuct );
hDimServer: A handle to the RRASM server where the call is to be executed, see section 3.1.3.
dwPid: Specifies the transport protocol. The value of this parameter MUST be PID_IP. The method MUST return an error other than those specified in the return value table for any other value.
-
Value
Meaning
PID_IP
0x00000021
An IPv4 MIB entry is to be deleted.
dwRoutingPid: Specifies the routing protocol. This MUST be 0x00002710 (10000) and indicate that pInfoStruct MUST point to MIB_OPAQUE_QUERY (section 2.2.1.2.53). Otherwise, an error other than those specified in the return table value is returned.
pInfoStuct: This MUST be a pointer to the structure DIM_MIB_ENTRY_CONTAINER (section 2.2.1.2.19) with valid dwMibInEntrySize and pMibInEntry fields. The dwMibOutEntrySize and pMibOutEntry of the structure are ignored by the server for this method. dwMibInEntrySize MUST be set to the size of data being passed in pMibInEntry. If pInfoStuct is NULL, an error other than those specified in the return value table is returned. Otherwise, the pointer is treated as a pointer to the structure DIM_MIB_ENTRY_CONTAINER.
-
Since the dwRoutingPid parameter of this method MUST take a value IPRTRMGR_PID (0x00002710), the pMibInEntry field of pInfoStuct MUST be a pointer to MIB_OPAQUE_INFO (section 2.2.1.2.52). The dwId and rgbyData fields of MIB_OPAQUE_INFO MUST be set to one of the values in the following table.
-
dwId Value
Structure that MUST be pointed to by rgbyData
Remarks
ROUTE_MATCHING
0x0000001F
A route corresponding to data in rgbyData is added in the IPv4 route table.
The route is created with the following fields:
ForwardRow: Contains the MIB_IPFORWARDROW (section 2.2.1.2.35) structure that contains the route information with the following fields set:
dwForwardDest
dwForwardMask
dwForwardPolicy
dwForwardNextHop
ForwardType
ForwardProto
dwForwardAge
dwForwardNextHopAS
dwForwardMetric1
dwForwardMetric2
dwForwardMetric3
dwForwardMetric4
dwForwardMetric5
dwForwardPreference
dwForwardViewSet
dwRtInfoDest
dwRtInfoMask
dwRtInfoNextHop
dwRtInfoIfIndex
dwRtInfoProto
dwRtInfoMetric1
dwRtInfoMetric2
dwRtInfoMetric3
pMibInEntry: The following fields are set to these values irrespective of the values specified (INTERFACE_ROUTE_INFO (section 2.2.1.2.11)):
dwForwardPolicy is set to 0.
dwForwardMetric4 and dwForwardMetric5 are set to MIB_IPROUTE_METRIC_UNUSED (-1).
dwForwardPreference is set to IP_PRIORITY_DEFAULT_METRIC (0x0000007F).
IF_ROW
0x00000002
Only dwAdminStatus can be set to IF_ADMIN_STATUS_DOWN or IF_ADMIN_STATUS_UP (see dwAdminStatus of INTERFACE_STATUS_INFO (section 2.2.1.2.18).
MCAST_IF_ENTRY
0x00000017
dwTtl MUST be set to less than or equal to 255.
dwRateLimit MUST NOT be set to 0.
dwIfIndex MUST be set to the index of the interface for which the entries are being updated.
The following entries can be set only if the operational status of the interface is IF_OPER_STATUS_OPERATIONAL (see dwOperStatus of MIB_IFROW:
ulInMcastOctets
ulOutMcastOctets
MCAST_BOUNDARY
0x0000001A
If dwStatus is set to ROWSTATUS_CREATEANDGO, the boundary information specified in MIB_IPMCAST_BOUNDARY is created.
If dwStatus field is set to ROWSTATUS_DESTROY, the boundary information specified in MIB_IPMCAST_BOUNDARY is deleted.
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.
All error values MUST be treated the same and as long as ERROR_SUCCESS is not returned the call is deemed failed.
The opnum field value for this method is 28.
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 pInfoStuct is NULL, return an error other than specified those in the preceding table.
If dwPid 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.
Return any error status that the RRAS server might return while processing the request. Otherwise return ERROR_SUCCESS (0x00000000).
No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].