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


Функция PeerCollabEnumObjects (p2p.h)

Функция PeerCollabEnumObjects возвращает дескриптор в перечисление, содержащее одноранговые объекты, связанные с конечной точкой определенного однорангового узла.

Синтаксис

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerCollabEnumObjects(
  [in]           PCPEER_ENDPOINT pcEndpoint,
  [in, optional] const GUID      *pObjectId,
  [out]          HPEERENUM       *phPeerEnum
);

Параметры

[in] pcEndpoint

Указатель на структуру PEER_ENDPOINT , содержащую сведения о конечной точке для однорангового узла, объекты которого будут перечисляться.

Если этот параметр имеет значение NULL , возвращаются опубликованные объекты контактов локального однорангового узла.

[in, optional] pObjectId

Указатель на значение GUID, которое однозначно идентифицирует одноранговый объект с предоставленным одноранговым элементом. Если указан этот параметр, возвращается единственный одноранговый объект, соответствующий этому GUID.

[out] phPeerEnum

Указатель на дескриптор для перечисленного набора одноранговых объектов, соответствующих ИДЕНТИФИКАТОРу GUID, возвращенному в pObjectId. Передайте этот дескриптор в PeerGetNextItem , чтобы получить каждый элемент в перечисленном наборе.

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

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

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

Комментарии

Одноранговые объекты — это элементы данных времени выполнения, связанные с определенным приложением, например изображением, аватаром, сертификатом или конкретным описанием. Размер каждого однорангового объекта должен быть меньше 16 КБ.

PeerCollabEnumObjects возвращает все объекты, опубликованные для локального однорангового узла. Объекты могут быть опубликованы несколькими приложениями.

Чтобы получить отдельные одноранговые объекты, передайте возвращенный дескриптор в PeerGetNextItem. Одноранговые объекты возвращаются в виде массива указателей на структуры PEER_OBJECT . Если конечная точка не публикует объекты, возвращается пустой массив. Чтобы закрыть перечисление и освободить связанные с ним ресурсы, передайте этот дескриптор в PeerEndEnumeration. Отдельные элементы, возвращаемые перечислением , должны быть освобождены с помощью PeerFreeData.

Чтобы успешно получить одноранговый объект, выполните приведенные далее действия.

  • Конечная точка должна быть ранее получена путем вызова PeerCollabEnumEndpoints.
  • Локальный одноранговый узел должен подписаться на конечную точку, вызвав PeerCollabSubscribeEndpointData.
  • Данные конечной точки должны быть обновлены путем успешного вызова PeerCollabRefreshEndpointData .

Если пользователь публикует рисунок, его можно получить, получив соответствующий объект . Идентификатор GUID для объекта picture — PEER_COLLAB_OBJECTID_USER_PICTURE.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Ни одна версия не поддерживается
Целевая платформа Windows
Header p2p.h
Библиотека P2P.lib
DLL P2P.dll

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

PEER_CONTACT

PEER_ENDPOINT

PEER_OBJECT

Функции API одноранговой совместной работы