PeerGraphGetNextItem 函数 (p2p.h)

PeerGraphGetNextItem 函数获取通过调用以下函数创建的枚举中的下一项,这将返回对等枚举句柄:

语法

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGraphGetNextItem(
  [in]      HPEERENUM hPeerEnum,
  [in, out] ULONG     *pCount,
  [out]     PVOID     **pppvItems
);

参数

[in] hPeerEnum

枚举的句柄。

[in, out] pCount

输入指定要获取的项数。

输出接收实际获取的项数。

注意 如果 pCount 为零 (0) 输出,则到达枚举的末尾。
 

[out] pppvItems

接收指向所请求项的指针数组。 数组中包含的指针数由 pCount 的输出值指定。 返回的实际数据取决于枚举的类型。 返回的结构类型如下: PEER_CONNECTION_INFOPEER_NODE_INFOPEER_RECORD

返回值

如果函数调用成功,则返回值 S_OK。 否则,它将返回以下值之一。

返回代码 说明
E_INVALIDARG
一个参数无效。
E_OUTOFMEMORY
没有足够的内存来执行指定的操作。
PEER_E_NOT_INITIALIZED
必须先通过调用 PeerGraphStartup 初始化图形,然后才能使用此函数。

注解

不再需要数据时,通过调用 PeerGraphFreeData 释放 ppvItems

应用程序可以请求获取一系列项。 函数返回 pCount 或更少的项。

示例

以下代码片段演示如何使用 PeerGraphGetNextItem 枚举对象,并在处理完枚举后结束枚举。

//PeerGraphGetNextItem snippet
    // hPeerEnum is a handle to the enumeration obtained from a successful call to PeerGraphEnumConnections,
    // PeerGraphEnumNodes, PeerGraphEnumRecords, or PeerGraphSearchRecords.
    // Set count equal to the maximum number of items you want returned. To obtain a count of all the items
    // in the enumeration, call PeerGraphGetItemCount.
    // ppRecord is an array of pointers to PEER_RECORD objects.  PEER_CONNECTION_INFO and PEER_NODE_INFO structures
    // are also supported.
    HRESULT hr = PeerGraphGetNextItem(hPeerEnum, &count, (PVOID *)&ppRecord);
    if (FAILED(hr))
    {
        // Insert your code to handle the error here.
    }
    else
    {
        // Free the data obtained by PeerGraphGetNextItem.
        PeerGraphFreeData(ppRecord);
    }

    // If you are done with the enumeration, free the handle to the enumeration.
    PeerGraphEndEnumeration(hPeerEnum);

要求

要求
最低受支持的客户端 具有 SP2 的 Windows XP [仅限桌面应用],具有 SP1 的 Windows XP 与高级网络包 forWindows XP
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 p2p.h
Library P2PGraph.lib
DLL P2PGraph.dll

另请参阅

PEER_CONNECTION_INFO

PEER_NODE_INFO

PEER_RECORD

PeerGraphEndEnumeration

PeerGraphEnumConnections

PeerGraphEnumNodes

PeerGraphEnumRecords

PeerGraphFreeData

PeerGraphSearchRecords