3.1.4.28 RMIBEntryDelete (Opnum 27)
The RMIBEntryDelete method<288> deletes a MIB entry in an IPv4 forwarding table. This causes the IPv4 routing table entry to be deleted.
-
DWORD RMIBEntryDelete( [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. The value of this field MUST be as follows.
-
Value
Meaning
PID_IP
0x00000021
An IPv4 MIB entry is to be deleted.
dwRoutingPid: Specifies the routing protocol. This MUST be 0x00002710 (10000) and indicates that pInfoStruct MUST point to MIB_OPAQUE_QUERY (section 2.2.1.2.53). Otherwise an error other than those specified in the return values table is returned.
pInfoStuct: This parameter MUST be a pointer to the structure DIM_MIB_ENTRY_CONTAINER (section 2.2.1.2.19) with valid dwMibInEntrySize and pMibInEntry fields. The parameters dwMibOutEntrySize and pMibOutEntry are ignored by the server. dwMibInEntrySize MUST be set to the size of data being passed in pMibInEntry.
pMibInEntry MUST be a pointer to MIB_OPAQUE_QUERY. dwVarId and rgdwVarIndex of MIB_OPAQUE_QUERY MUST be set to one of the following values that need to be deleted.
-
dwVarId Value
Structure that MUST to be pointed by rgdwVarIndex
Remarks
ROUTE_MATCHING
0x0000001F
MIB_IPDESTROW (section 2.2.1.2.20)
rgdwVarIndex[0] MUST be dwForwardDest
rgdwVarIndex[1] MUST be dwForwardMask
rgdwVarIndex[2] MUST be dwForwardIfIndex
rgdwVarIndex[3] MUST be dwForwardNextHop
rgdwVarIndex[4] MUST be dwForwardProto
A route with the following matching fields specified in ForwardRow and MIB_IPDESTROW is deleted from the IPv4 route table:
dwForwardDest
dwForwardMask
dwForwardIfIndex
dwForwardNextHop
dwForwardProto
IP_NETTABLE
0x00000009
MIB_IPNETTABLE (section 2.2.1.2.48)
rgdwVarIndex[0] MUST be dwIfIndex
rgdwVarIndex[1] MUST be dwAddr
An entry is deleted<289> whose interface index matches the dwIfIndex and whose IPv4 address matches the specified dwAddr.
-
If pMibInEntry is NULL, an error other than those specified in the return value table is returned. Otherwise, the pointer to pMibInEntry is cast to a pointer to a MIB_OPAQUE_QUERY.
-
If pInfoStruct is NULL, an error other than those specified in the following return value table is returned.
-
If dwMibInEntrySize does not match the size of MIB_IPDESTROW (section 2.2.1.2.20) an error other than those specified in the return value table is returned.
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 following table 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 27.
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.
Validate that the 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 returned by the RRAS server while processing the request. Otherwise return ERROR_SUCCESS (0x00000000).
No exceptions are thrown beyond those thrown by the underlying RPC protocol [MS-RPCE].