peerGroupCreateInvitation 函数 (p2p.h)

PeerGroupCreateInvitation 函数返回一个 XML 字符串,指定的对等方可以使用该字符串加入组。

语法

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerGroupCreateInvitation(
  [in]  HGROUP     hGroup,
  [in]  PCWSTR     pwzIdentityInfo,
  [in]  FILETIME   *pftExpiration,
  [in]  ULONG      cRoles,
  [in]  const GUID *pRoles,
  [out] PWSTR      *ppwzInvitation
);

参数

[in] hGroup

发出此邀请的对等组的句柄。 此句柄由 PeerGroupCreatePeerGroupOpenPeerGroupJoin 函数返回。 此参数是必需的。

[in] pwzIdentityInfo

指向 Unicode 字符串的指针,该字符串包含 XML blob (包括以前调用 PeerIdentityGetXML 返回的 GMC) ,该调用具有对等方的标识。 或者,此参数可以包含指向 PeerIdentityGetXML 生成的 XML Blob 的指针,该指针使用 PEER_CONTACT 中包含的对等信息生成对等联系人的邀请。

[in] pftExpiration

指定包含邀请到期的特定日期和时间的 UTC FILETIME 结构。 此值不能大于发证对等方的剩余生存期。 如果此参数为 NULL,则邀请生存期设置为可能的最大值 - 对等方的剩余生存期。

[in] cRoles

指定 pRoleInfo 中的角色计数。

[in] pRoles

指向 GUID 列表的指针,该列表指定组合的可用角色集。 可用角色如下所示。

含义
PEER_GROUP_ROLE_ADMIN
此角色可以发出邀请、颁发凭据、续订其他管理员的 GMC,以及充当对等组的成员。
PEER_GROUP_ROLE_MEMBER
此角色可以将记录发布到组数据库。

[out] ppwzInvitation

指向包含颁发者邀请的 Unicode 字符串的指针。 此邀请可由收件人传递到 PeerGroupJoin ,以便加入指定的对等组。 若要以 PEER_INVITATION_INFO 结构的形式返回邀请的详细信息,请将此字符串传递给 PeerGroupParseInvitation。 若要释放此数据,请将此指针传递给 PeerFreeData

返回值

如果操作成功,则返回S_OK;否则,函数将返回以下值之一。

返回代码 说明
E_INVALIDARG
其中一个参数无效。
E_OUTOFMEMORY
内存不足,无法执行指定的操作。
PEER_E_GROUP_NOT_READY
对等组未处于可以添加记录的状态。 例如,调用 PeerGroupJoin ,但尚未完成与组数据库的同步。
PEER_E_CHAIN_TOO_LONG
GMC 链超过 24 个管理员或成员。 有关 GMC 链的详细信息,请参阅 组安全性工作原理 文档。
PEER_E_IDENTITY_DELETED
作为 pwzIdentityInfo 传递的数据用于已删除的标识,不再有效。
PEER_E_NOT_AUTHORIZED
调用此方法的对等方不是管理员。
PEER_E_NO_KEY_ACCESS
拒绝访问标识或对等组密钥。 通常,这是由于包含用户或计算机密钥的文件夹的访问控制列表 (ACL) 不正确导致的。 手动重置 ACL 时可能会发生这种情况。
 

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

注解

对等方不能为其假定角色优于自己的对等方创建邀请。 例如,成员角色中的对等方无法为管理员角色中的对等方创建邀请。

要求

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

另请参阅

PEER_CONTACT

PeerGroupParseInvitation

PeerIdentityGetXML