PeerGroupJoin 函数 (p2p.h)

PeerGroupJoin 函数在调用 PeerGroupConnectPeerGroupConnectByAddress 之前,准备具有加入现有对等组邀请的对等方。

语法

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

parameters

[in] pwzIdentity

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

[in] pwzInvitation

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

[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_INVALID_TIME_PERIOD
邀请中指定的有效期无效。 指定的期限已过期或邀请尚未生效, (即指定的 ValidityStart date\time 尚未达到) 。 此错误返回的一个可能原因是,在加入组的计算机或发出邀请的计算机上,系统时钟设置不正确。
PEER_E_INVITATION_NOT_TRUSTED
邀请不受信任。 这可能是由于邀请更改、错误或过期造成的。
PEER_E_NO_CLOUD
无法找到云。
PEER_E_UNSUPPORTED_VERSION
当前版本的对等基础结构不支持邀请。
PEER_E_NO_KEY_ACCESS
拒绝访问对等标识或对等组密钥。 通常,这是由于包含用户或计算机密钥的文件夹的 ACL) (访问控制列表不正确造成的。 当 ACL 已手动重置时,可能会发生这种情况。
 

可以从 Microsoft RSA 基本提供程序返回特定于加密的错误。 这些错误以 CRYPT_* 为前缀,并在 Winerror.h 中定义。

要求

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

请参阅

PEER_INVITATION_INFO

PeerGroupConnect

PeerGroupConnectByAddress

PeerGroupCreateInvitation

PeerGroupOpen

PeerGroupParseInvitation