Функция RtmAddNextHop (rtmv2.h)
Функция RtmAddNextHop добавляет новую запись следующего прыжка или обновляет существующую запись следующего прыжка в список следующего прыжка клиента. Если следующий прыжок уже существует, диспетчер таблиц маршрутизации возвращает дескриптор следующему прыжку. Затем этот дескриптор можно использовать для указания следующего прыжка к месту назначения при добавлении или обновлении маршрута.
Синтаксис
DWORD RtmAddNextHop(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] PRTM_NEXTHOP_INFO NextHopInfo,
[in, out] PRTM_NEXTHOP_HANDLE NextHopHandle,
[out] PRTM_NEXTHOP_CHANGE_FLAGS ChangeFlags
);
Параметры
[in] RtmRegHandle
Дескриптор клиента, полученного при предыдущем вызове RtmRegisterEntity.
[in] NextHopInfo
Указатель на структуру, содержащую сведения, определяющие следующий прыжок для добавления или обновления. Элементы NextHopOwner и State игнорируются; эти элементы задаются диспетчером таблиц маршрутизации. Элемент Flags может иметь одно из следующих значений.
[in, out] NextHopHandle
Если у клиента есть дескриптор (клиент обновляет следующий прыжок): при входе NextHopHandle является указателем на дескриптор следующего прыжка. В выходных данных NextHopHandle не изменяется.
Если у клиента нет дескриптора и должен быть возвращен дескриптор (клиент добавляет или обновляет следующий прыжок): При входе NextHopHandle является указателем на NULL. В выходных данных NextHopHandle получает указатель на дескриптор следующего прыжка. Значения в NextHopInfo используются для определения следующего прыжка для обновления.
Если дескриптор не требуется возвращать (клиент добавляет или обновляет следующий прыжок): на входных данных NextHopHandle имеет значение NULL. Значения в NextHopInfo используются для определения следующего прыжка для обновления.
[out] ChangeFlags
Во входных данных ChangeFlags является указателем на тип данных RTM_NEXTHOP_CHANGE_FLAGS .
В выходных данных ChangeFlags получает флаг, указывающий, был ли добавлен или обновлен следующий прыжок. Если значение ChangeFlags равно нулю, был обновлен следующий прыжок; Если параметр ChangeFlagsRTM_NEXTHOP_CHANGE_NEW, добавлен следующий прыжок.
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращается один из следующих кодов ошибок.
Значение | Значение |
---|---|
|
Вызывающий клиент не владеет этим следующим прыжком. |
|
Недостаточно памяти для выполнения этой операции. |
Комментарии
Если NextHopHandle указывает на дескриптор, отличный от NULL , обновляется следующий прыжок, указанный дескриптором. В противном случае выполняется поиск по адресу, указанному в NextHopInfo. Если найден следующий прыжок, он обновляется. Если совпадение не найдено, добавляется новый следующий прыжок.
Если дескриптор был возвращен, отпустите дескриптор, когда он больше не требуется, вызвав RtmReleaseNextHops.
Требования
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rtmv2.h |
Библиотека | Rtm.lib |
DLL | Rtm.dll |