Поделиться через


Функция 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_INFO, PEER_NODE_INFO и PEER_RECORD

Возвращаемое значение

Если вызов функции завершается успешно, возвращаемое значение будет S_OK. В противном случае возвращается одно из следующих значений.

Код возврата Описание
E_INVALIDARG
Один параметр недопустим.
E_OUTOFMEMORY
Недостаточно памяти для выполнения указанной операции.
PEER_E_NOT_INITIALIZED
Перед использованием этой функции граф необходимо инициализировать с помощью вызова PeerGraphStartup .

Комментарии

Бесплатные ppvItems путем вызова PeerGraphFreeData, когда данные больше не требуются.

Приложение может запросить диапазон элементов для получения. Функция возвращает число элементов 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 с пакетом обновления 2 (SP2) [только классические приложения], Windows XP с пакетом обновления 1 (SP1) с дополнительным сетевым пакетом для Windows XP
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header p2p.h
Библиотека P2PGraph.lib
DLL P2PGraph.dll

См. также раздел

PEER_CONNECTION_INFO

PEER_NODE_INFO

PEER_RECORD

PeerGraphEndEnumeration

PeerGraphEnumConnections

PeerGraphEnumNodes

PeerGraphEnumRecords

PeerGraphFreeData

PeerGraphSearchRecords