RtmDequeueRouteChangeMessage 函数
[此 API 已被 路由表管理器版本 2 API 取代,在 Windows Server 2003 之后不可用。 应用程序应使用路由表管理器版本 2 API。]
RtmDequeueRouteChangeMessage 函数返回与指定客户端关联的队列中的下一个路由更改消息。
语法
DWORD RtmDequeueRouteChangeMessage(
_In_ HANDLE ClientHandle,
_Out_ DWORD Flags,
_Out_ PVOID CurBestRoute,
_Out_ PVOID PrevBestRoute
);
参数
-
ClientHandle [in]
-
标识为其执行操作的客户端的句柄。 通过调用 RtmRegisterClient 获取此句柄。
-
标志 [out]
-
指向 DWORD 变量的指针。 此变量的值由路由表管理器设置。 值指定更改消息的类型,以及所提供的缓冲区中返回的信息。 此参数为下列参数之一。
Flags 含义 - RTM_ROUTE_ADDED
为特定目标网络添加了第一个路由。 CurBestRoute 参数指向所添加路由的信息。 - RTM_ROUTE_DELETED
已删除可用于特定目标网络的唯一路由。 PrevBestRoute 参数指向已删除路由的信息。 - RTM_ROUTE_CHANGED
至少更改了一个重要参数,以获得最佳路由到特定目标网络。 重要参数包括:
协议标识符
接口索引
下一跃点地址
特定于协议系列的数据 (包括路由指标)PrevBestRoute 参数指向更改前的路由信息。 CurBestRoute 参数指向当前 (即更改后) 路由信息。
-
CurBestRoute [out]
-
指向结构的指针,该结构接收当前最佳路由信息 ((如果有任何) )。 结构的类型特定于协议系列,例如 IP 或 IPX。
此参数是可选的。 如果调用方为此参数指定 NULL ,则不会返回当前最佳路由信息。
-
PrevBestRoute [out]
-
指向结构(如果有)的指针,该结构接收以前的最佳路由信息。 结构的类型特定于协议系列,例如 IP 或 IPX。
此参数是可选的。 如果调用方为此参数指定 NULL ,则不会返回以前的最佳路由信息。
返回值
返回值是以下代码之一。
值 | 说明 |
---|---|
|
此消息是客户端队列中的最后一条消息。 重置事件对象。 |
|
ClientHandle 参数不是有效的句柄,或者在注册时客户端未为更改消息通知提供事件对象 (请参阅 RtmRegisterClient) 。 |
|
客户端的队列包含其他消息。 客户端应尽快再次调用 RtmDequeueRouteChangeMessage ,以允许路由表管理器释放与挂起消息关联的资源。 |
|
客户端的队列不包含任何消息;调用是未经请求的。 重置事件。 |
|
资源不足,无法执行该操作。 |
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
无受支持的版本 |
最低受支持的服务器 |
Windows 2000 Server [仅限桌面应用] |
终止服务器支持 |
Windows Server 2003 |
标头 |
|
库 |
|
DLL |
|
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈