Compartilhar via


Função PeerGroupCreateInvitation (p2p.h)

A função PeerGroupCreateInvitation retorna uma cadeia de caracteres XML que pode ser usada pelo par especificado para ingressar em um grupo.

Sintaxe

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
);

Parâmetros

[in] hGroup

Manipule para o grupo de pares para o qual este convite é emitido. Esse identificador é retornado pela função PeerGroupCreate, PeerGroupOpen ou PeerGroupJoin . Este parâmetro é necessário.

[in] pwzIdentityInfo

Ponteiro para uma cadeia de caracteres Unicode que contém o blob XML (incluindo o GMC) retornado por uma chamada anterior para PeerIdentityGetXML com a identidade do par. Como alternativa, esse parâmetro pode conter um ponteiro para um blob XML gerado por PeerIdentityGetXML usando as informações de par contidas em PEER_CONTACT para gerar um convite para um contato par.

[in] pftExpiration

Especifica uma estrutura UTC FILETIME que contém a data e a hora específicas em que o convite expira. Esse valor não pode ser maior que o tempo de vida restante do par emissor. Se esse parâmetro for NULL, o tempo de vida do convite será definido como o valor máximo possível – o tempo de vida restante do par.

[in] cRoles

Especifica a contagem de funções em pRoleInfo.

[in] pRoles

Ponteiro para uma lista de GUIDs que especifica o conjunto combinado de funções disponíveis. As funções disponíveis são as seguintes.

Valor Significado
PEER_GROUP_ROLE_ADMIN
Essa função pode emitir convites, emitir credenciais e renovar o GMC de outros administradores, bem como se comportar como um membro do grupo de pares.
PEER_GROUP_ROLE_MEMBER
Essa função pode publicar registros no banco de dados de grupo.

[out] ppwzInvitation

Ponteiro para uma cadeia de caracteres Unicode que contém o convite do emissor. Esse convite pode ser passado para PeerGroupJoin pelo destinatário para ingressar no grupo de pares especificado. Para retornar os detalhes do convite como uma estrutura PEER_INVITATION_INFO , passe essa cadeia de caracteres para PeerGroupParseInvitation. Para liberar esses dados, passe esse ponteiro para PeerFreeData.

Retornar valor

Retorna S_OK se a operação for bem-sucedida; caso contrário, a função retornará um dos valores a seguir.

Código de retorno Descrição
E_INVALIDARG
Um dos parâmetros não é válido.
E_OUTOFMEMORY
Não há memória suficiente para executar a operação especificada.
PEER_E_GROUP_NOT_READY
O grupo de pares não está em um estado em que os registros podem ser adicionados. Por exemplo, PeerGroupJoin é chamado, mas a sincronização com o banco de dados de grupo não foi concluída.
PEER_E_CHAIN_TOO_LONG
A cadeia GMC tem mais de 24 administradores ou membros. Para obter mais informações sobre cadeias GMC, consulte a documentação Como funciona a segurança do grupo .
PEER_E_IDENTITY_DELETED
Os dados passados como pwzIdentityInfo são para uma identidade excluída e não são mais válidos.
PEER_E_NOT_AUTHORIZED
O par que chamou esse método não é um administrador.
PEER_E_NO_KEY_ACCESS
O acesso às chaves de identidade ou de grupo par é negado. Normalmente, isso é causado por uma ACL (lista de controle de acesso) incorreta para a pasta que contém as chaves do usuário ou do computador. Isso pode acontecer quando a ACL é redefinida manualmente.
 

Erros específicos de criptografia podem ser retornados do Provedor Base do Microsoft RSA. Esses erros são prefixados com CRYPT_* e definidos em Winerror.h.

Comentários

Os pares não podem criar convites para pares cujo papel assumido é superior ao seu próprio. Por exemplo, um par em uma função membro não pode criar um convite para um par em uma função de administrador.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows XP com SP2 [somente aplicativos da área de trabalho], Windows XP com SP1 com o Pacote de Rede Avançado paraWindows XP
Servidor mínimo com suporte Nenhum compatível
Plataforma de Destino Windows
Cabeçalho p2p.h
Biblioteca P2P.lib
DLL P2P.dll

Confira também

PEER_CONTACT

PeerGroupParseInvitation

PeerIdentityGetXML