Функция 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
Входные данные указывают количество получаемых элементов.
Выходные данные получают фактическое количество полученных элементов.
[out] pppvItems
Получает массив указателей на запрошенные элементы. Количество указателей, содержащихся в массиве, задается выходным значением pCount. Фактические возвращаемые данные зависят от типа перечисления. Возвращаются следующие типы структур: PEER_CONNECTION_INFO, PEER_NODE_INFO и PEER_RECORD
Возвращаемое значение
Если вызов функции завершается успешно, возвращаемое значение будет S_OK. В противном случае возвращается одно из следующих значений.
Код возврата | Описание |
---|---|
|
Один параметр недопустим. |
|
Недостаточно памяти для выполнения указанной операции. |
|
Перед использованием этой функции граф необходимо инициализировать с помощью вызова 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 |