Condividi tramite


Funzione PeerIdentityCreate (p2p.h)

La funzione PeerIdentityCreate crea una nuova identità peer e restituisce il nome. Il nome dell'identità peer deve essere passato in tutte le chiamate successive alle funzioni peer Identity Manager, peer grouping o PNRP che operano per conto dell'identità peer. Il nome dell'identità peer specifica quale identità peer viene usata.

Sintassi

NOT_BUILD_WINDOWS_DEPRECATE HRESULT PeerIdentityCreate(
  [in]  PCWSTR     pwzClassifier,
  [in]  PCWSTR     pwzFriendlyName,
  [in]  HCRYPTPROV hCryptProv,
  [out] PWSTR      *ppwzIdentity
);

Parametri

[in] pwzClassifier

Specifica il classificatore da aggiungere al nome identità peer pubblicato. Questa stringa è una stringa Unicode e può essere NULL. Questa stringa può essere lunga solo 150 caratteri, incluso il terminatore NULL .

[in] pwzFriendlyName

Specifica il nome descrittivo dell'identità peer. Si tratta di una stringa Unicode e può essere NULL. Questa stringa può essere lunga solo 256 caratteri, incluso il terminatore NULL . Se pwzFriendlyName è NULL, il nome dell'identità è il nome descrittivo. Il nome descrittivo è facoltativo e non deve essere univoco.

[in] hCryptProv

Gestire il provider di servizi di crittografia (CSP) che contiene una coppia di chiavi AT_KEYEXCHANGE di almeno 1024 bit di lunghezza. Questa coppia di chiavi viene usata come base per una nuova identità peer. Se hCryptProv è zero (0), viene generata una nuova coppia di chiavi per l'identità peer.

Nota L'API Identity Manager non supporta un CSP con chiavi protette dall'utente. Se viene usato un CSP con chiavi protette dall'utente, PeerIdentityCreate restituisce E_INVALIDARG.
 

[out] ppwzIdentity

Riceve un puntatore al nome di un'identità peer creata. Questo nome deve essere usato in tutte le chiamate successive alle funzioni Peer Identity Manager, Peer Grouping o PNRP che operano per conto dell'identità peer. Restituisce NULL se non è possibile creare l'identità peer.

Valore restituito

Se la chiamata di funzione ha esito positivo, il valore restituito è S_OK. In caso contrario, restituisce uno dei valori seguenti.

Codice restituito Descrizione
ERROR_INVALID_HANDLE
L'handle alla chiave specificata da hCryptProv non è valido.
E_INVALIDARG
Uno dei parametri non è valido.
E_OUTOFMEMORY
Memoria insufficiente per eseguire l'operazione specificata.
PEER_E_ALREADY_EXISTS
L'identità peer esiste già. Si verifica solo se esiste già un'identità peer basata sulla chiave e il classificatore specificati.
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_E_TOO_MANY_IDENTITIES
Impossibile creare l'identità peer perché sono presenti troppe identità peer.

Commenti

La coppia di chiavi e il classificatore vengono usati per generare il nome peer di una nuova identità peer. Dopo aver creato un'identità peer, viene archiviata automaticamente sul disco.

Il nome dell'identità deve essere liberato usando PeerFreeData. Questa operazione non elimina l'identità peer. Per eliminare l'identità, usare la funzione PeerIdentityDelete .

Se hCryptProv non è NULL, può essere rilasciato usando CryptReleaseContext dopo che la chiamata viene restituita.

Requisiti

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

Vedi anche

CryptReleaseContext

PeerFreeData

PeerIdentityDelete