Функция 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.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
Значение | Значение |
---|---|
|
Вызывающий клиент не владеет этим маршрутом. |
|
Дескриптор недействителен. |
Комментарии
Не вызывайте другие функции 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 |