Condividi tramite


Funzione PeerGroupPasswordJoin (p2p.h)

La funzione PeerGroupPasswordJoin prepara un peer con un invito e la password corretta per aggiungere un gruppo peer protetto da password prima di chiamare PeerGroupConnect o PeerGroupConnectByAddress.

Sintassi

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

Parametri

[in] pwzIdentity

Puntatore a una stringa Unicode contenente l'identità che apre il gruppo di peer specificato. Se questo parametro è NULL, l'implementazione usa l'identità ottenuta da PeerIdentityGetDefault.

[in] pwzInvitation

Puntatore a una stringa Unicode contenente l'invito XML concesso da un altro peer. Viene creato un invito con una password quando il peer invito chiama PeerGroupCreatePasswordInvitation. Dettagli specifici relativi a questo invito, tra cui la password impostata dall'autore del gruppo, possono essere ottenuti come struttura PEER_INVITATION_INFO chiamando PeerGroupParseInvitation. Questo parametro è obbligatorio.

[in] pwzPassword

Puntatore a una stringa Unicode con terminazione zero che contiene la password necessaria per convalidare e aggiungere il gruppo di peer. Questa password deve corrispondere alla password specificata nell'invito. Questo parametro è obbligatorio.

[in] pwzCloud

Puntatore a una stringa Unicode contenente il nome del cloud PNRP in cui si trova un gruppo. Il valore predefinito è NULL, che indica che il cloud specificato nell'invito deve essere usato.

[out] phGroup

Puntatore all'handle del gruppo peer. Per avviare la comunicazione con un gruppo, chiamare PeerGroupConnect. Questo parametro è obbligatorio.

Valore restituito

Restituisce S_OK se l'operazione ha esito positivo. In caso contrario, la funzione restituisce uno dei valori seguenti.

Codice restituito Descrizione
E_INVALIDARG
Uno dei parametri non è valido.
E_OUTOFMEMORY
Non è disponibile memoria sufficiente per completare l'operazione.
PEER_E_CLOUD_NAME_AMBIGUOUS
Il cloud non può essere individuato in modo univoco, ad esempio più di un cloud corrisponde al nome specificato.
PEER_E_INVALID_PEER_NAME
L'identità peer specificata in pwzIdentity non è valida.
PEER_E_INVITATION_NOT_TRUSTED
L'invito non è attendibile dal peer. È stato modificato o contiene errori.
PEER_E_NO_CLOUD
Impossibile trovare il cloud.
PEER_E_UNSUPPORTED_VERSION
L'invito non è supportato dalla versione corrente dell'infrastruttura peer.
PEER_E_NO_KEY_ACCESS
L'accesso alle chiavi peer identity o peer group viene negato. In genere, questo è causato da un elenco di controllo di accesso non corretto (ACL) per la cartella che contiene le chiavi utente o computer. Ciò può verificarsi quando l'ACL è stato reimpostato manualmente.
PEER_S_ALREADY_A_MEMBER
Il peer locale ha tentato di partecipare a un gruppo in base a una password più di una volta.
 

Gli errori specifici della crittografia possono essere restituiti dal provider di base MICROSOFT RSA. Questi errori sono preceduti da CRYPT_* e definiti in Winerror.h.

Commenti

In caso di un'inclinazione dell'orologio tra computer partecipanti, la funzione PeerGroupPasswordJoin iniziale può comunque avere esito positivo mentre la chiamata seguente di PeerGroupConnect può causare un errore di join a seconda della gravità dell'asimmetria.

Requisiti

Requisito Valore
Client minimo supportato Windows XP con SP2 [solo app desktop], Windows XP con SP1 con Advanced Networking Pack forWindows XP
Server minimo supportato Nessuno supportato
Piattaforma di destinazione Windows
Intestazione p2p.h
Libreria P2P.lib
DLL P2P.dll

Vedi anche

PeerGroupConnect

PeerGroupConnectByAddress