RtmLockRoute 函数 (rtmv2.h)
RtmLockRoute 函数锁定或解锁路由表中的路由。 当客户端对客户端拥有的不透明路由指针进行必要的更改时,这会保护路由。
语法
DWORD RtmLockRoute(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] RTM_ROUTE_HANDLE RouteHandle,
[in] BOOL Exclusive,
[in] BOOL LockRoute,
[out] PRTM_ROUTE_INFO *RoutePointer
);
参数
[in] RtmRegHandle
从上一次调用 RtmRegisterEntity 获取的客户端的句柄。
[in] RouteHandle
要锁定的路由的句柄。
[in] Exclusive
指定是在独占 (TRUE) 还是共享 (FALSE) 模式下锁定或解锁路由。
[in] LockRoute
指定是锁定还是解锁路由。 指定 TRUE 以锁定路由;指定 FALSE 以解锁它。
[out] RoutePointer
如果必须返回指针:输入时, RoutePointer 是指向 NULL 的指针。 在输出时,如果客户端拥有路由, 则 RoutePointer 会收到指向下一跃点的指针;否则, RoutePointer 将保持不变。
如果不需要返回句柄:输入时, RoutePointer 为 NULL。
返回值
如果函数成功,则返回值NO_ERROR。
如果函数失败,则返回值为以下错误代码之一。
值 | 含义 |
---|---|
|
调用客户端不拥有此路由。 |
|
该句柄无效。 |
注解
在通过调用 RtmLockRoute 且 LockRoute 参数设置为 FALSE 或调用 RtmUpdateAndUnlockRoute 来解锁路由之前,请勿调用任何其他 RTMv2 函数。
目前,此函数锁定整个目标,而不仅仅是路由。
客户端只能更改RTM_ROUTE_INFO结构的邻居、PrefInfo、BelongsToViews、EntitySpecificInfo 和 NextHopsList 成员。
如果更改了这些值中的任何值,客户端必须调用 RtmUpdateAndUnlockRoute 以通知路由表管理器所做的更改。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 无受支持的版本 |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | rtmv2.h |
Library | Rtm.lib |
DLL | Rtm.dll |