次の方法で共有


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

Input は、取得する項目の数を指定します。

出力は、取得した項目の実際の数を受け取ります。

メモpCount がゼロ (0) の出力の場合、列挙の末尾に達します。
 

[out] pppvItems

要求された項目へのポインターの配列を受け取ります。 配列に含まれるポインターの数は、 pCount の出力値によって指定されます。 返される実際のデータは、列挙型の型によって異なります。 返される構造体の種類は、PEER_CONNECTION_INFOPEER_NODE_INFOおよびPEER_RECORDです。

戻り値

関数呼び出しが成功した場合、戻り値は S_OK。 それ以外の場合は、次のいずれかの値が返されます。

リターン コード 説明
E_INVALIDARG
1 つのパラメーターが無効です。
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);

要件

要件
サポートされている最小のクライアント Windows XP と SP2 [デスクトップ アプリのみ],Windows XP SP1 と Advanced Networking Pack 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