функция обратного вызова PGET_NEIGHBORS (routprot.h)
Диспетчер маршрутизатора вызывает функцию GetNeighbors для получения запроса для сети, подключенной через указанный интерфейс.
Тип PGET_NEIGHBORS определяет указатель на эту функцию обратного вызова. GetNeighbors — это заполнитель для имени функции, определяемой приложением.
Синтаксис
PGET_NEIGHBORS PgetNeighbors;
DWORD PgetNeighbors(
[in] DWORD InterfaceIndex,
[in] PDWORD NeighborList,
[in, out] PDWORD NeighborListSize,
[out] PBYTE InterfaceFlags
)
{...}
Параметры
[in] InterfaceIndex
Указывает индекс интерфейса, для которого протокол маршрутизации должен предоставлять запрос.
[in] NeighborList
Указатель на переменные DWORD массива. Протокол маршрутизации должен заполнить этот массив адресом запрашивающего.
Если локальный компьютер является запросом для сети, подключенной через указанный интерфейс, протокол маршрутизации не должен заполнять эту переменную. Вместо этого протокол маршрутизации должен задать значение, на которое указывает Соседский списокSize , равным нулю. Кроме того, протокол маршрутизации должен добавлять MRINFO_QUERIER_FLAG к флагам, возвращаемым в параметре InterfaceFlags .
[in, out] NeighborListSize
На входных данных — указатель на переменную DWORD .
В выходных данных протокол маршрутизации заполняет эту переменную длиной в байтах адреса, возвращенного в параметре NeighborList .
[out] InterfaceFlags
Получает один или несколько следующих флагов. Флаги описывают связь локального компьютера с другими компьютерами в сети, подключенной через указанный интерфейс.
MRINFO_LEAF_FLAGMRINFO_QUERIER_FLAGMRINFO_TUNNEL_FLAG MRINFO_PIM_FLAGMRINFO_DOWN_FLAG MRINFO_DISABLED_FLAG
Возвращаемое значение
Если функция выполнена успешно, возвращаемое значение будет NO_ERROR.
Если функция завершается сбоем, возвращаемое значение представляет собой один из следующих кодов ошибок.
Значение | Описание |
---|---|
|
Протоколу маршрутизации не удалось выполнить запрос. |
|
Размер буфера, на который указывает Объект NeighborList , недостаточно велик для хранения адреса. Требуемый размер возвращается в переменной DWORD , на которую указывает параметр NeighborListSize . |
|
Недопустимый параметр InterfaceIndex (например, интерфейс с этим индексом не существует). |
Комментарии
Эту функцию должны реализовывать только протоколы многоадресной маршрутизации. Протоколы маршрутизации без многоадресной рассылки должны передавать значение NULL в качестве значения указателя для этой функции в MPR_ROUTING_CHARACTERISTICS
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Ни одна версия не поддерживается |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | routprot.h |