Функция RtmGetMostSpecificDestination (rtmv2.h)
Функция RtmGetMostSpecificDestination выполняет поиск назначения в таблице маршрутизации с точным совпадением для указанного сетевого адреса и маски подсети; Если точное совпадение не найдено, сопоставляется лучший префикс. Возвращается информация о назначении.
Синтаксис
DWORD RtmGetMostSpecificDestination(
[in] RTM_ENTITY_HANDLE RtmRegHandle,
[in] PRTM_NET_ADDRESS DestAddress,
[in] ULONG ProtocolId,
[in] RTM_VIEW_SET TargetViews,
[out] PRTM_DEST_INFO DestInfo
);
Параметры
[in] RtmRegHandle
Дескриптор клиента, полученного из предыдущего вызова RtmRegisterEntity.
[in] DestAddress
Указатель на адрес целевой сети.
[in] ProtocolId
Указывает идентификатор протокола. ProtocolID не является частью условий поиска. Диспетчер таблиц маршрутизации использует этот идентификатор для определения возвращаемых сведений о маршруте. Например, если клиент указывает идентификатор протокола RIP, возвращается лучший маршрут RIP, даже если маршрут, отличный от RIP, является лучшим маршрутом к месту назначения.
Укажите RTM_BEST_PROTOCOL для возврата маршрута независимо от того, какой протокол ему принадлежит. Укажите RTM_THIS_PROTOCOL, чтобы вернуть наилучший маршрут для протокола вызова.
[in] TargetViews
Указывает представления, из которых возвращаются сведения. Если клиент указывает RTM_VIEW_MASK_ANY, сведения о назначении возвращаются из всех представлений; однако сведения, относящиеся к представлению, не возвращаются.
[out] DestInfo
На входных данных DestInfo является указателем на структуру RTM_DEST_INFO .
В выходных данных DestInfo заполняется запрошенными сведениями о назначении.
Возвращаемое значение
Если функция выполняется успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
Значение | Значение |
---|---|
|
Недопустимый дескриптор. |
|
Указанное назначение не найдено. |
Комментарии
Структура DestInfo — это структура переменной величины. Если клиент указывает несколько представлений с TargetViews, размер DestInfo увеличивается для каждого представления. Используйте макрос RTM_SIZE_OF_DEST_INFO , чтобы определить объем памяти, выделяемой для структуры DestInfo , перед вызовом этой функции. Используйте значение, указанное для TargetViews , в качестве параметра для RTM_SIZE_OF_DEST_INFO.
Пример кода, использующий эту функцию, см. в разделе Поиск маршрутов с помощью дерева префиксов.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | rtmv2.h |
Библиотека | Rtm.lib |
DLL | Rtm.dll |