Функция 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. В противном случае возвращается одно из следующих значений.
Код возврата | Описание |
---|---|
|
Один из параметров недопустим. |
|
Недостаточно памяти для выполнения указанной операции. |
Комментарии
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 |