peerGroupPasswordJoin 函数 (p2p.h)

PeerGroupPasswordJoin 函数在调用 PeerGroupConnectPeerGroupConnectByAddress 之前,准备具有邀请和正确密码的对等方以加入受密码保护的对等组。

语法

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

参数

[in] pwzIdentity

指向 Unicode 字符串的指针,该字符串包含打开指定对等组的标识。 如果此参数为 NULL,则实现将使用从 PeerIdentityGetDefault 获取的标识。

[in] pwzInvitation

指向 Unicode 字符串的指针,该字符串包含由另一对等方授予的 XML 邀请。 当邀请方调用 PeerGroupCreatePasswordInvitation 时,将创建具有密码的邀请。 有关此邀请的特定详细信息(包括组创建者设置的密码)可以通过调用 PeerGroupParseInvitation 作为PEER_INVITATION_INFO结构获取。 此参数是必需的。

[in] pwzPassword

指向以零结尾的 Unicode 字符串的指针,该字符串包含验证和加入对等组所需的密码。 此密码必须与邀请中指定的密码匹配。 此参数是必需的。

[in] pwzCloud

指向 Unicode 字符串的指针,该字符串包含组所在的 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 的以下调用可能会导致联接失败,具体取决于倾斜的严重性。

要求

要求
最低受支持的客户端 带 SP2 的 Windows XP [仅限桌面应用],带 SP1 的 Windows XP 以及适用于 Windows XP 的高级网络包
最低受支持的服务器 无受支持的版本
目标平台 Windows
标头 p2p.h
Library P2P.lib
DLL P2P.dll

另请参阅

PeerGroupConnect

PeerGroupConnectByAddress