Поделиться через


Функция 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.

Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.

Значение Значение
ERROR_ACCESS_DENIED
Вызывающий клиент не владеет этим маршрутом.
ERROR_INVALID_HANDLE
Дескриптор недействителен.
 
 

Комментарии

Не вызывайте другие функции RTMv2, пока маршрут не будет разблокирован вызовом RtmLockRoute и параметру LockRoute присвоено значение FALSE или вызову RtmUpdateAndUnlockRoute.

В настоящее время эта функция блокирует все назначение, а не только маршрут.

Клиенты могут изменять только элементы Сосед,PrefInfo, BelongsToViews, EntitySpecificInfo и NextHopsListструктуры RTM_ROUTE_INFO .

При изменении любого из этих значений клиент должен вызвать RtmUpdateAndUnlockRoute , чтобы уведомить диспетчер таблиц маршрутизации об изменениях.

Требования

Требование Значение
Минимальная версия клиента Ни одна версия не поддерживается
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header rtmv2.h
Библиотека Rtm.lib
DLL Rtm.dll

См. также раздел

RTM_ROUTE_INFO

RtmAddRouteToDest

RtmDeleteRouteToDest

RtmGetRoutePointer

RtmHoldDestination

RtmUpdateAndUnlockRoute