Partager via


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