mgmGetFirstMfe 函数 (mgm.h)

MgmGetFirstMfe 函数从 MFE 列表的开头开始检索 MFE。 函数可以检索零个、一个或多个 MMFE。 返回的 MMF 数取决于 MMFE 的大小以及调用函数时客户端提供的缓冲区的大小。

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

语法

DWORD MgmGetFirstMfe(
  [in, out] PDWORD pdwBufferSize,
  [in, out] PBYTE  pbBuffer,
  [in, out] PDWORD pdwNumEntries
);

参数

[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 数量。
 
 

注解

此函数用于开始对 MMF 进行顺序检索;使用 MgmGetNextMfe 继续检索过程。

通常,若要检索 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

MgmGetMfe

MgmGetNextMfe