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


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

Функция PeerPnrpStartResolve запускает асинхронную операцию разрешения имен одноранговых узлов.

Синтаксис

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerPnrpStartResolve(
  [in]           PCWSTR      pcwzPeerName,
  [in, optional] PCWSTR      pcwzCloudName,
  [in, optional] ULONG       cMaxEndpoints,
  [in]           HANDLE      hEvent,
  [out]          HRESOLUTION *phResolve
);

Параметры

[in] pcwzPeerName

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

[in, optional] pcwzCloudName

Указатель на строку с нулем, содержащую имя облака PNRP, в котором разрешается имя однорангового узла. Если значение РАВНО NULL, разрешение выполняется для всех облаков. Если PEER_PNRP_ALL_LINK_CLOUDS, разрешение выполняется для всех локальных облаков связи. Если указано "GLOBAL_", разрешение выполняется в глобальном облаке.

[in, optional] cMaxEndpoints

Максимальное число конечных точек, возвращаемых для имени однорангового узла.

[in] hEvent

Дескриптор события, сигнализируемый, когда одноранговая конечная точка разрешается для указанного имени однорангового узла и готова к использованию путем вызова PeerPnrpGetEndpoint. Это событие сигнализирует для каждой конечной точки, обнаруженной службой PNRP. Если PEER_NO_MORE возвращается вызовом PeerPnrpGetEndpoint, то для этого однорангового узла были найдены все конечные точки.

[out] phResolve

Обработка этого запроса разрешения имени однорангового узла. Этот дескриптор должен быть предоставлен peerPnrpEndResolve после вызова событий разрешения и получения конечных точек с соответствующими вызовами PeerPnrpGetEndpoint или в случае сбоя операции.

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

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

Код возврата Описание
E_INVALIDARG
Один из параметров недопустим.
E_OUTOFMEMORY
Недостаточно памяти для выполнения указанной операции.

Комментарии

PeerPnrpStartResolve создает дескриптор для асинхронной операции разрешения имен одноранговых узлов.

При каждом обнаружении конечной точки сигнализирует о дескрипторе события, предоставленном в hEvent , и приложение должно вызывать PeerPnrpGetEndpoint с дескриптором phResolve для получения этой конечной точки.

Последнее событие указывает код ошибки PEER_E_NO_MORE, указывающий, что найдены все конечные точки, соответствующие имени однорангового узла, предоставленному PeerPnrpStartResolve . В настоящее время приложение должно закрыть дескриптор с помощью вызова PeerPnrpEndResolve.

Дескриптор должен разрешаться в процессе, отдельном от процесса, в котором он был зарегистрирован. Если дескриптор зарегистрирован и разрешен в рамках одного процесса, он не будет распознана.

Требования

Требование Значение
Минимальная версия клиента Windows XP с пакетом обновления 2 (SP2) [только классические приложения], Windows XP с пакетом обновления 1 (SP1) с дополнительным сетевым пакетом для Windows XP
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header p2p.h
Библиотека P2P.lib
DLL P2P.dll

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

PeerPnrpEndResolve

PeerPnrpGetEndpoint

PeerPnrpResolve