PeerIdentityCreate-Funktion (p2p.h)

Die PeerIdentityCreate-Funktion erstellt eine neue Peeridentität und gibt ihren Namen zurück. Der Name der Peeridentität muss in allen nachfolgenden Aufrufen der Funktionen Peer Identity Manager, Peergruppierung oder PNRP übergeben werden, die im Auftrag der Peeridentität ausgeführt werden. Der Name der Peeridentität gibt an, welche Peeridentität verwendet wird.

Syntax

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

Parameter

[in] pwzClassifier

Gibt den Klassifizierer an, der an den Namen der veröffentlichten Peeridentität angefügt werden soll. Diese Zeichenfolge ist eine Unicode-Zeichenfolge und kann NULL sein. Diese Zeichenfolge darf nur 150 Zeichen lang sein, einschließlich des NULL-Abschlusszeichens .

[in] pwzFriendlyName

Gibt den Anzeigenamen der Peeridentität an. Dies ist eine Unicode-Zeichenfolge und kann NULL sein. Diese Zeichenfolge darf nur 256 Zeichen lang sein, einschließlich des NULL-Abschlusszeichens . Wenn pwzFriendlyNameNULL ist, ist der Name der Identität der Anzeigename. Der Anzeigename ist optional und muss nicht eindeutig sein.

[in] hCryptProv

Handle an den Kryptografiedienstanbieter (Cryptographic Service Provider, CSP), der ein AT_KEYEXCHANGE Schlüsselpaar mit einer Länge von mindestens 1024 Bit enthält. Dieses Schlüsselpaar wird als Grundlage für eine neue Peeridentität verwendet. Wenn hCryptProv null (0) ist, wird ein neues Schlüsselpaar für die Peeridentität generiert.

Hinweis Die Identity Manager-API unterstützt keinen CSP mit benutzergeschützten Schlüsseln. Wenn ein CSP mit benutzergeschützten Schlüsseln verwendet wird, gibt PeerIdentityCreateE_INVALIDARG zurück.
 

[out] ppwzIdentity

Empfängt einen Zeiger auf den Namen einer erstellten Peeridentität. Dieser Name muss bei allen nachfolgenden Aufrufen der Funktionen Peer Identity Manager, Peergruppierung oder PNRP verwendet werden, die im Auftrag der Peeridentität ausgeführt werden. Gibt NULL zurück, wenn die Peeridentität nicht erstellt werden kann.

Rückgabewert

Wenn der Funktionsaufruf erfolgreich ist, wird der Rückgabewert S_OK. Andernfalls wird einer der folgenden Werte zurückgegeben.

Rückgabecode Beschreibung
ERROR_INVALID_HANDLE
Das Handle für den schlüssel, der von hCryptProv angegeben wird, ist ungültig.
E_INVALIDARG
Einer der Parameter ist ungültig.
E_OUTOFMEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um den angegebenen Vorgang auszuführen.
PEER_E_ALREADY_EXISTS
Die Peeridentität ist bereits vorhanden. Tritt nur auf, wenn eine Peeridentität basierend auf dem angegebenen Schlüssel und Klassifizierer bereits vorhanden ist.
PEER_E_NO_KEY_ACCESS
Der Zugriff auf die Peeridentität oder Peergruppenschlüssel wird verweigert. Dies wird in der Regel durch eine falsche Zugriffssteuerungsliste (Access Control List, ACL) für den Ordner verursacht, der die Benutzer- oder Computerschlüssel enthält. Dies kann passieren, wenn die ACL manuell zurückgesetzt wurde.
PEER_E_TOO_MANY_IDENTITIES
Die Peeridentität kann nicht erstellt werden, da zu viele Peeridentitäten vorhanden sind.

Hinweise

Das Schlüsselpaar und der Klassifizierer werden verwendet, um den Peernamen einer neuen Peeridentität zu generieren. Nachdem eine Peeridentität erstellt wurde, wird sie automatisch auf dem Datenträger gespeichert.

Der Name der Identität sollte mithilfe von PeerFreeData freigegeben werden. Dadurch wird die Peeridentität nicht gelöscht. Verwenden Sie zum Löschen der Identität die Funktion PeerIdentityDelete .

Wenn hCryptProv nicht NULL ist, kann es mithilfe von CryptReleaseContext freigegeben werden, nachdem der Aufruf zurückgegeben wurde.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP mit SP2 [nur Desktop-Apps],Windows XP mit SP1 mit dem Advanced Networking Pack für Windows XP
Unterstützte Mindestversion (Server) Nicht unterstützt
Zielplattform Windows
Kopfzeile p2p.h
Bibliothek P2P.lib
DLL P2P.dll

Weitere Informationen

CryptReleaseContext

PeerFreeData

PeerIdentityDelete