<div class="content" name="RMIBEntryDelete" uuid="a8ed0e17-9395-4aef-9f4e-9b3e93cf3f4c"><p>The <b>RMIBEntryDelete</b> method<a id="Appendix_A_Target_288"></a><a aria-label="Product behavior note 288" href="3bb906f0-b077-47ab-ad11-d8d807afde26#Appendix_A_288" data-linktype="relative-path">&lt;288&gt;</a> deletes a MIB entry in an
IPv4 forwarding table. This causes the IPv4 routing table entry to be deleted.</p><dl>
<dd>
<div><pre> DWORD RMIBEntryDelete(
   [in] DIM_HANDLE hDimServer,
   [in] DWORD dwPid,
   [in] DWORD dwRoutingPid,
   [in] PDIM_MIB_ENTRY_CONTAINER pInfoStuct
 );
</pre></div>
</dd></dl><p><b>hDimServer: </b>A handle to the RRASM server where
the call is to be executed, see section <a href="1f8cdbcc-9791-4a35-ad78-878b8d110e15" data-linktype="relative-path">3.1.3</a>.</p><p><b>dwPid: </b>Specifies the transport. The value of
this field MUST be as follows.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Value</p>
   </th>
   <th>
   <p>Meaning</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>PID_IP 0x00000021</td>
  <td>An IPv4 MIB entry is to be deleted.</td>
 </tr></tbody></table>
</dd></dl><p><b>dwRoutingPid: </b>Specifies the routing protocol.
This MUST be 0x00002710 (10000) and indicates that <i>pInfoStruct</i> MUST
point to <b>MIB_OPAQUE_QUERY</b> (section <a href="3ca0723e-36ea-448a-a97e-1906dd3d07a6" data-linktype="relative-path">2.2.1.2.53</a>). Otherwise an
error other than those specified in the return values table is returned.</p><p><b>pInfoStuct: </b>This parameter MUST be a pointer
to the structure <a href="4305d67f-9273-49fe-a067-909b6ae8a341" data-linktype="relative-path"><b>DIM_MIB_ENTRY_CONTAINER (section 2.2.1.2.19)</b></a>
with valid <b>dwMibInEntrySize</b> and <b>pMibInEntry</b> fields. The
parameters <i>dwMibOutEntrySize</i> and <i>pMibOutEntry</i> are ignored by the
server. <b>dwMibInEntrySize</b> MUST be set to the size of data being passed in
<b>pMibInEntry</b>.  </p><p><b>pMibInEntry</b> MUST be a pointer to <b>MIB_OPAQUE_QUERY</b>.
<b>dwVarId</b> and <b>rgdwVarIndex</b> of <b>MIB_OPAQUE_QUERY</b> MUST be set
to one of the following values that need to be deleted.</p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>dwVarId Value</p>
   </th>
   <th>
   <p>Structure that MUST to be pointed by rgdwVarIndex</p>
   </th>
   <th>
   <p>Remarks </p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ROUTE_MATCHING 0x0000001F</td>
  <td>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</td>
  <td>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</td>
 </tr><tr>
  <td>IP_NETTABLE 0x00000009</td>
  <td>MIB_IPNETTABLE (section 2.2.1.2.48) rgdwVarIndex[0] MUST be dwIfIndex rgdwVarIndex[1] MUST be dwAddr</td>
  <td>An entry is deleted&lt;289&gt; whose interface index matches the dwIfIndex and whose IPv4 address matches the specified dwAddr.</td>
 </tr></tbody></table>
</dd>
<dd>
<p>If <b>pMibInEntry</b> is NULL, an
error other than those specified in the return value table is returned.
Otherwise, the pointer to <b>pMibInEntry</b> is cast to a pointer to a <b>MIB_OPAQUE_QUERY</b>.</p>
</dd>
<dd>
<p>If <i>pInfoStruct</i> is NULL, an
error other than those specified in the following return value table is
returned.</p>
</dd>
<dd>
<p>If <b>dwMibInEntrySize</b> does
not match the size of <b>MIB_IPDESTROW (section 2.2.1.2.20)</b> an
error other than those specified in the return value table is returned.  </p>
</dd></dl><p><b>Return Values: </b>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 <a href="../ms-erref/1bc92ddf-b79e-413c-bbaa-99a5281a6c90" data-linktype="relative-path">[MS-ERREF]</a>
or in section <a href="5c0c991a-0d3d-4fe5-9503-5128d0d49fe1" data-linktype="relative-path">2.2.4</a>.
All values that are not in the following table MUST be treated the same by the
RRASM client. </p><dl>
<dd>
<table><thead>
  <tr>
   <th>
   <p>Return value/code</p>
   </th>
   <th>
   <p>Description</p>
   </th>
  </tr>
 </thead><tbody><tr>
  <td>ERROR_SUCCESS 0x00000000</td>
  <td>The call was successful.</td>
 </tr><tr>
  <td>ERROR_ACCESS_DENIED 0x00000005</td>
  <td>The calling application does not have sufficient privileges, as specified in section 2.1.1.1.</td>
 </tr></tbody></table>
</dd></dl><p>The opnum field value for this method is 27.</p><p>When processing this call, the RRASM server MUST do the
following:</p><ul><li><p><span><span> 
</span></span>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).</p>
</li><li><p><span><span> 
</span></span>If <i>pInfoStruct</i> is NULL, return an error other than those
in the preceding table.</p>
</li><li><p><span><span> 
</span></span>Validate that the <i>dwPid</i> is not specified in the <b>SupportedTransportsList</b>,
return an error other than those specified in the preceding table.</p>
</li><li><p><span><span> 
</span></span>Call the abstract interface <b>Invoke DIMSVC</b> method
specifying the operation and the parameters to enable RRAS server to perform
the required management task.</p>
</li><li><p><span><span> 
</span></span>Return any error status returned by the RRAS server while
processing the request. Otherwise return ERROR_SUCCESS (0x00000000).</p>
</li></ul><p>No exceptions are thrown beyond those thrown by the
underlying RPC protocol <a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a>.</p></div>