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


Функция 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

Дескриптор группы одноранговых узлов, для которой выдано это приглашение. Этот дескриптор возвращается функцией PeerGroupCreate, PeerGroupOpen или PeerGroupJoin . Это обязательный параметр.

[in] pwzIdentityInfo

Указатель на строку Юникода, содержащую БОЛЬШОЙ двоичный объект XML (включая GMC), возвращенный предыдущим вызовом PeerIdentityGetXML с удостоверением однорангового узла. Кроме того, этот параметр может содержать указатель на БОЛЬШОЙ двоичный объект XML, созданный PeerIdentityGetXML с использованием сведений о одноранговом узле, содержащихся в PEER_CONTACT для создания приглашения для однорангового контакта.

[in] pftExpiration

Задает структуру FILETIME в формате UTC, содержащую конкретную дату и время истечения срока действия приглашения. Это значение не может быть больше, чем оставшееся время существования выдающего однорангового узла. Если этот параметр имеет значение NULL, для времени существования приглашения устанавливается максимально возможное значение — оставшееся время существования однорангового узла.

[in] cRoles

Указывает количество ролей в pRoleInfo.

[in] pRoles

Указатель на список идентификаторов GUID, указывающий объединенный набор доступных ролей. Доступны следующие роли.

Значение Значение
PEER_GROUP_ROLE_ADMIN
Эта роль может выдавать приглашения, выдавать учетные данные и обновлять GMC других администраторов, а также вести себя как член группы одноранговых узлов.
PEER_GROUP_ROLE_MEMBER
Эта роль может публиковать записи в базе данных группы.

[out] ppwzInvitation

Указатель на строку Юникода, содержащую приглашение от издателя. Это приглашение может быть передано в 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.

Комментарии

Одноранговые пользователи не могут создавать приглашения для одноранговых пользователей, чьи роли превосходят их собственные. Например, одноранговый узел в роли участника не может создать приглашение для однорангового узла с ролью администратора.

Требования

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

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

PEER_CONTACT

PeerGroupParseInvitation

PeerIdentityGetXML