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


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

Функция PeerGroupPasswordJoin подготавливает одноранговый узел с приглашением и правильным паролем для присоединения к группе узлов, защищенной паролем, перед вызовом PeerGroupConnect или PeerGroupConnectByAddress.

Синтаксис

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGroupPasswordJoin(
  [in]  PCWSTR pwzIdentity,
  [in]  PCWSTR pwzInvitation,
  [in]  PCWSTR pwzPassword,
  [in]  PCWSTR pwzCloud,
  [out] HGROUP *phGroup
);

Параметры

[in] pwzIdentity

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

[in] pwzInvitation

Указатель на строку Юникода, содержащую ПРИГЛАШЕНИЕ XML, предоставленное другим одноранговым элементом. Приглашение с паролем создается, когда приглашающий одноранговый узел вызывает PeerGroupCreatePasswordInvitation. Конкретные сведения об этом приглашении, включая пароль, заданный создателем группы, можно получить в качестве PEER_INVITATION_INFO структуры, вызвав PeerGroupParseInvitation. Это обязательный параметр.

[in] pwzPassword

Указатель на строку Юникода с нулем, которая содержит пароль, необходимый для проверки и присоединения к группе одноранговых узлов. Этот пароль должен совпадать с паролем, указанным в приглашении. Это обязательный параметр.

[in] pwzCloud

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

[out] phGroup

Указатель на дескриптор группы одноранговых узлов. Чтобы начать взаимодействие с группой, вызовите PeerGroupConnect. Это обязательный параметр.

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

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

Код возврата Описание
E_INVALIDARG
Один из параметров недопустим.
E_OUTOFMEMORY
Недостаточно памяти для завершения операции.
PEER_E_CLOUD_NAME_AMBIGUOUS
Облако не может быть обнаружено уникальным образом, например, несколько облаков соответствуют указанному имени.
PEER_E_INVALID_PEER_NAME
Недопустимое удостоверение однорангового узла, указанное в pwzIdentity .
PEER_E_INVITATION_NOT_TRUSTED
Одноранговый узел не доверяет приглашению. Он был изменен или содержит ошибки.
PEER_E_NO_CLOUD
Не удается найти облако.
PEER_E_UNSUPPORTED_VERSION
Приглашение не поддерживается текущей версией одноранговой инфраструктуры.
PEER_E_NO_KEY_ACCESS
Доступ к удостоверению однорангового узла или ключам группы одноранговых узлов запрещен. Как правило, это вызвано неправильным списком управления доступом (ACL) для папки, содержащей ключи пользователя или компьютера. Это может произойти, если список ACL был сброшен вручную.
PEER_S_ALREADY_A_MEMBER
Локальный одноранговый узел несколько раз пытался присоединиться к группе на основе пароля.
 

Ошибки, связанные с шифрованием, могут быть возвращены базовым поставщиком Microsoft RSA. Эти ошибки имеют префикс CRYPT_* и определяются в Winerror.h.

Комментарии

В случае неравномерного распределения часов между участвующими компьютерами исходная функция PeerGroupPasswordJoin может по-прежнему выполняться успешно, в то время как следующий вызов PeerGroupConnect может привести к сбою соединения в зависимости от серьезности неравномерного распределения.

Требования

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

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

PeerGroupConnect

PeerGroupConnectByAddress