mgmGetNextMfe 函数 (mgm.h)

MgmGetNextMfe 函数检索一个或多个 MFE。 路由表管理器从指定 MFE 后面的 MFE 开始检索 MFE。 函数可以检索零个、一个或多个 MMFE。 返回的 MMF 数取决于 MMFE 的大小以及调用函数时客户端提供的缓冲区的大小。

缓冲区中返回的数据先按组排序,然后按组中的源排序。

语法

DWORD MgmGetNextMfe(
  [in]      PMIB_IPMCAST_MFE pimmStart,
  [in, out] PDWORD           pdwBufferSize,
  [in, out] PBYTE            pbBuffer,
  [in, out] PDWORD           pdwNumEntries
);

参数

[in] pimmStart

指向 MIB_IPMCAST_MFE 结构的指针,该结构指定从何处开始检索 MMFE。 MIB_IPMCAST_MFE 结构的 dwSourcedwGroup 成员标识 MFE。 指定上一次调用 MgmGetFirstMfe 或 MgmGetNextMfe 返回的最后 一个 MFE 的源和组。

[in, out] pdwBufferSize

在输入时,pdwBufferSize 是指向包含 pbBuffer 大小的 DWORD 大小的内存位置的指针。

在输出时,如果返回值为ERROR_INSUFFICIENT_BUFFER, 则 pdwBufferSize 接收保存 MFE 所需的最小大小 pbBuffer ;否则, pdwBufferSize 的值保持不变。

[in, out] pbBuffer

在输入时,客户端必须提供指向缓冲区的指针。

在输出时, pbBuffer 包含一个或多个 MMFE。 每个 MFE 都是一个 MIB_IPMCAST_MFE 结构。

[in, out] pdwNumEntries

输入时,客户端必须提供指向 DWORD 大小的内存位置的指针。

在输出时, pdwNumEntries 接收 pbBuffer 中包含的 MMFE 数。

返回值

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

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

含义
ERROR_CAN_NOT_COMPLETE
无法完成对此函数的调用。
ERROR_INSUFFICIENT_BUFFER
指定的缓冲区太小,即使是一个 MFE 也是如此。 客户端应为检索一个 MFE 所需的最小缓冲区大小检查 pdwBufferSize 的值。
ERROR_MORE_DATA
更多 MMF 可用。
ERROR_NO_MORE_ITEMS
没有其他 MMF 可用。 返回零个或多个 MMFE;检查 pdwNumEntries 的值来验证返回的 MMF 数量。

注解

此函数用于继续按顺序检索 MMFE;使用 MgmGetFirstMfe 启动检索过程。

通常,若要检索 MFE,请先调用 MgmGetFirstMfe。 然后,调用 MgmGetNextMfe 一次或多次,直到没有更多的 MFE 要返回。 每次对 MgmGetNextMfe 的调用应在上一次调用 MgmGetNextMfe (返回的最后一个 MFE 或对 MgmGetFirstMfe) 的初始调用之后开始。 为此,客户端在上一次调用返回的缓冲区中指定最后一个源和组。

注意pbBuffer 指向的缓冲区的最小大小不是固定的;对于每个 MFE,它都是不同的。 使用 size of (MIB_IPMCAST_MFE) 宏来确定缓冲区中返回的每个 MFE 的大小。
 

要求

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

另请参阅

MIB_IPMCAST_MFE

MgmGetFirstMfe

MgmGetMfe