RtmGetMostSpecificDestination 函数 (rtmv2.h)
RtmGetMostSpecificDestination 函数在路由表中搜索与指定网络地址和子网掩码完全匹配的目标;如果找不到完全匹配项,则匹配最佳前缀。 返回目标信息。
语法
DWORD RtmGetMostSpecificDestination(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] PRTM_NET_ADDRESS DestAddress,
[in] ULONG ProtocolId,
[in] RTM_VIEW_SET TargetViews,
[out] PRTM_DEST_INFO DestInfo
);
参数
[in] RtmRegHandle
从上一次调用 RtmRegisterEntity 获取的客户端的句柄。
[in] DestAddress
指向目标网络地址的指针。
[in] ProtocolId
指定协议标识符。 ProtocolID 不是搜索条件的一部分。 路由表管理器使用此标识符来确定要返回的路由信息。 例如,如果客户端指定 RIP 协议标识符,则返回最佳 RIP 路由,即使非 RIP 路由是到达目标的最佳路由也是如此。
指定RTM_BEST_PROTOCOL以返回路由,而不考虑哪个协议拥有路由。 指定RTM_THIS_PROTOCOL以返回调用协议的最佳路由。
[in] TargetViews
指定要从中返回信息的视图。 如果客户端指定RTM_VIEW_MASK_ANY,则会从所有视图返回目标信息;但是,不会返回特定于视图的信息。
[out] DestInfo
在输入时, DestInfo 是指向 RTM_DEST_INFO 结构的指针。
在输出中,使用请求的目标信息填充 DestInfo 。
返回值
如果函数成功,则返回值NO_ERROR。
如果函数失败,则返回值为以下错误代码之一。
值 | 含义 |
---|---|
|
句柄无效。 |
|
找不到指定的目标。 |
注解
DestInfo 结构是一种大小可变的结构。 如果客户端使用 TargetViews 指定多个视图,则每个视图的 DestInfo 大小都会增加。 在调用此函数之前,使用 RTM_SIZE_OF_DEST_INFO 宏确定要为 DestInfo 结构分配的内存量。 使用为 TargetViews 指定的值作为参数来 RTM_SIZE_OF_DEST_INFO。
有关使用此函数的示例代码,请参阅 使用前缀树搜索路由。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | rtmv2.h |
Library | Rtm.lib |
DLL | Rtm.dll |