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


функция обратного вызова 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.

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

Значение Описание
ERROR_CAN_NOT_COMPLETE
Протоколу маршрутизации не удалось выполнить запрос.
ERROR_INSUFFICIENT_BUFFER
Размер буфера, на который указывает Объект NeighborList , недостаточно велик для хранения адреса. Требуемый размер возвращается в переменной DWORD , на которую указывает параметр NeighborListSize .
ERROR_INVALID_PARAMETER
Недопустимый параметр InterfaceIndex (например, интерфейс с этим индексом не существует).

Комментарии

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

Требования

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

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

GetMfeStatus