PGET_NEIGHBORS回调函数 (routprot.h)

路由器管理器调用 GetNeighbors 函数以获取通过指定接口附加的网络的 querier。

PGET_NEIGHBORS类型定义指向此回调函数的指针。 GetNeighbors 是应用程序定义的函数名称的占位符。

语法

PGET_NEIGHBORS PgetNeighbors;

DWORD PgetNeighbors(
  [in]      DWORD InterfaceIndex,
  [in]      PDWORD NeighborList,
  [in, out] PDWORD NeighborListSize,
  [out]     PBYTE InterfaceFlags
)
{...}

参数

[in] InterfaceIndex

指定路由协议应在其上提供 querier 的接口的索引。

[in] NeighborList

指向数组 DWORD 变量的指针。 路由协议应使用 querier 的地址填充此数组。

如果本地计算机是通过指定接口附加的网络的仲裁器,则路由协议不需要填充此变量。 相反,路由协议应将 NeighborListSize 指向的值设置为零。 此外,路由协议应将 MRINFO_QUERIER_FLAG 添加到 InterfaceFlags 参数中返回的标志。

[in, out] NeighborListSize

输入时,指向 DWORD 变量的指针。

在输出时,路由协议会用 NeighborList 参数中返回的地址的长度(以字节为单位)填充此变量。

[out] InterfaceFlags

接收以下一个或多个标志。 标志描述本地计算机与网络上通过指定接口附加的其他计算机之间的关系。

MRINFO_TUNNEL_FLAGMRINFO_PIM_FLAGMRINFO_DOWN_FLAGMRINFO_DISABLED_FLAGMRINFO_QUERIER_FLAG MRINFO_LEAF_FLAG

返回值

如果函数成功,则返回值 NO_ERROR

如果函数失败,则返回值为以下错误代码之一。

说明
ERROR_CAN_NOT_COMPLETE
路由协议无法完成请求。
ERROR_INSUFFICIENT_BUFFER
NeighborList 指向的缓冲区的大小不足以容纳地址。 在 NeighborListSize 参数指向的 DWORD 变量中返回所需的大小。
ERROR_INVALID_PARAMETER
InterfaceIndex 参数无效 (例如,不存在具有该索引) 的接口。

注解

只需多播路由协议即可实现此函数。 非多播路由协议应传递 NULL 作为此函数的指针值 ,MPR_ROUTING_CHARACTERISTICS

要求

要求
最低受支持的客户端 无受支持的版本
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 routprot.h

另请参阅

GetMfeStatus