Share via


PeerGraphGetNextItem-Funktion (p2p.h)

Die PeerGraphGetNextItem-Funktion ruft das nächste Element in einer Enumeration ab, die durch einen Aufruf der folgenden Funktionen erstellt wurde, die ein Peeraufzählungshandle zurückgeben:

Syntax

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

Parameter

[in] hPeerEnum

Handle für eine Enumeration.

[in, out] pCount

Eingabe gibt die Anzahl der abzurufenden Elemente an.

Ausgabe empfängt die tatsächliche Anzahl der abgerufenen Elemente.

Hinweis Wenn pCount eine Ausgabe von null (0) ist, wird das Ende der Enumeration erreicht.
 

[out] pppvItems

Empfängt ein Array von Zeigern auf die angeforderten Elemente. Die Anzahl der in einem Array enthaltenen Zeiger wird durch den Ausgabewert von pCount angegeben. Die tatsächlich zurückgegebenen Daten hängen vom Typ der Enumeration ab. Die Typen von Strukturen, die zurückgegeben werden, sind die folgenden: PEER_CONNECTION_INFO, PEER_NODE_INFO und PEER_RECORD

Rückgabewert

Wenn der Funktionsaufruf erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls wird einer der folgenden Werte zurückgegeben.

Rückgabecode Beschreibung
E_INVALIDARG
Ein Parameter ist ungültig.
E_OUTOFMEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um einen angegebenen Vorgang auszuführen.
PEER_E_NOT_INITIALIZED
Das Diagramm muss mit einem Aufruf von PeerGraphStartup initialisiert werden, bevor diese Funktion verwendet wird.

Hinweise

Free ppvItems , indem Sie PeerGraphFreeData aufrufen, wenn die Daten nicht mehr benötigt werden.

Die Anwendung kann eine Reihe von Elementen anfordern, die abgerufen werden sollen. Die Funktion gibt pCount oder weniger Elemente zurück.

Beispiele

Der folgende Codeausschnitt zeigt, wie Sie PeerGraphGetNextItem verwenden, um Objekte aufzulisten und eine Enumeration zu beenden, nachdem Sie die Verarbeitung der Enumeration abgeschlossen haben.

//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);

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2 [nur Desktop-Apps],Windows XP mit SP1 mit dem Advanced Networking Pack forWindows XP
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile p2p.h
Bibliothek P2PGraph.lib
DLL P2PGraph.dll

Weitere Informationen

PEER_CONNECTION_INFO

PEER_NODE_INFO

PEER_RECORD

PeerGraphEndEnumeration

PeerGraphEnumConnections

PeerGraphEnumNodes

PeerGraphEnumRecords

PeerGraphFreeData

PeerGraphSearchRecords