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 将保持不变。

如果不需要返回句柄:输入时, RoutePointerNULL

返回值

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

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

含义
ERROR_ACCESS_DENIED
调用客户端不拥有此路由。
ERROR_INVALID_HANDLE
该句柄无效。
 
 

注解

在通过调用 RtmLockRouteLockRoute 参数设置为 FALSE 或调用 RtmUpdateAndUnlockRoute 来解锁路由之前,请勿调用任何其他 RTMv2 函数。

目前,此函数锁定整个目标,而不仅仅是路由。

客户端只能更改RTM_ROUTE_INFO结构的邻居PrefInfoBelongsToViewsEntitySpecificInfoNextHopsList 成员。

如果更改了这些值中的任何值,客户端必须调用 RtmUpdateAndUnlockRoute 以通知路由表管理器所做的更改。

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 rtmv2.h
Library Rtm.lib
DLL Rtm.dll

另请参阅

RTM_ROUTE_INFO

RtmAddRouteToDest

RtmDeleteRouteToDest

RtmGetRoutePointer

RtmHoldDestination

RtmUpdateAndUnlockRoute