RtmDeleteRoute 函数

[此 API 已被 路由表管理器版本 2 API 取代,在 Windows Server 2003 之后不可用。 应用程序应使用路由表管理器版本 2 API。]

RtmDeleteRoute 函数删除路由条目。

语法

DWORD RtmDeleteRoute(
  _In_  HANDLE ClientHandle,
  _In_  PVOID  Route,
  _Out_ DWORD  Flags,
  _Out_ PVOID  CurBestRoute
);

参数

ClientHandle [in]

标识客户端的句柄,因此标识已添加或更新路由的路由协议。 通过调用 RtmRegisterClient 获取此句柄。

路由 [in]

指向特定于协议系列的结构的指针,该结构指定新的或更新的路由。 路由表管理器使用以下字段来更新路由表:

含义
RR_Network
指定目标网络编号。
RR_InterfaceID
指定用于接收路由的接口的索引。
RR_NextHopAddress
指定下一跃点路由器的网络地址。

标志 [out]

指向一组标志的指针,这些标志指示更改消息的类型以及所提供缓冲区中放置的信息。 此参数是以下值之一。

Flags 含义
RTM_NO_CHANGE
删除路由不会影响到任何目标网络的最佳路由。 换句话说,另一个条目表示指向同一目标网络的路由,其指标较低。
RTM_ROUTE_DELETED
已删除的路由是特定目标网络唯一可用的路由。
RTM_ROUTE_CHANGED
删除此路由后,另一个路由成为特定目标网络的最佳路由。 CurBestRoute 指向新的最佳路由的信息。

CurBestRoute [out]

指向接收当前最佳路由信息的 结构的指针(如果有)。 结构的类型特定于协议系列,例如 IP 或 IPX。

此参数是可选的。 如果调用方为此参数指定 NULL ,则不会返回当前最佳路由信息。

返回值

如果函数成功,则返回值 NO_ERROR

如果函数失败,则返回值为以下错误代码之一。

说明
ERROR_INVALID_HANDLE
客户端句柄参数不是有效的句柄。
ERROR_INVALID_PARAMETER
Route 参数指向的 路由 结构包含成员值。
ERROR_NO_SUCH_ROUTE
路由表中没有与指定路由的参数匹配的条目。
ERROR_NO_SYSTEM_RESOURCES
资源不足,无法执行该操作。

备注

如果目标网络的最佳路由因删除而发生更改,则函数将生成路由更改消息。 但是,路由更改消息不会发送到进行此调用的客户端。 相反,此函数会将相关信息直接返回给该客户端。

要求

要求
最低受支持的客户端
无受支持的版本
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
终止服务器支持
Windows Server 2003
标头
Rtm.h

Rtm.lib
DLL
Rtm.dll

另请参阅

路由表管理器版本 1 参考

路由表管理器版本 1 函数

RtmAddRoute

RtmDequeueRouteChangeMessage