Compartir a través de


Función PeerIdentityCreate (p2p.h)

La función PeerIdentityCreate crea una nueva identidad del mismo nivel y devuelve su nombre. El nombre de la identidad del mismo nivel debe pasarse en todas las llamadas posteriores a las funciones peer Identity Manager, Peer Grouping o PNRP que operan en nombre de la identidad del mismo nivel. El nombre de la identidad del mismo nivel especifica qué identidad del mismo nivel se usa.

Sintaxis

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

Parámetros

[in] pwzClassifier

Especifica el clasificador que se va a anexar al nombre de identidad del mismo nivel publicado. Esta cadena es una cadena Unicode y puede ser NULL. Esta cadena solo puede tener 150 caracteres, incluido el terminador NULL .

[in] pwzFriendlyName

Especifica el nombre descriptivo de la identidad del mismo nivel. Se trata de una cadena Unicode y puede ser NULL. Esta cadena solo puede tener 256 caracteres, incluido el terminador NULL . Si pwzFriendlyName es NULL, el nombre de la identidad es el nombre descriptivo. El nombre descriptivo es opcional y no tiene que ser único.

[in] hCryptProv

Identificador del proveedor de servicios criptográficos (CSP) que contiene un par de claves AT_KEYEXCHANGE de al menos 1024 bits de longitud. Este par de claves se usa como base para una nueva identidad del mismo nivel. Si hCryptProv es cero (0), se genera un nuevo par de claves para la identidad del mismo nivel.

Nota La API de Identity Manager no admite un CSP que tenga claves protegidas por el usuario. Si se usa un CSP que tiene claves protegidas por el usuario, PeerIdentityCreate devuelve E_INVALIDARG.
 

[out] ppwzIdentity

Recibe un puntero al nombre de una identidad del mismo nivel que se crea. Este nombre se debe usar en todas las llamadas posteriores a las funciones peer Identity Manager, Peer Grouping o PNRP que operan en nombre de la identidad del mismo nivel. Devuelve NULL si no se puede crear la identidad del mismo nivel.

Valor devuelto

Si la llamada de función se realiza correctamente, el valor devuelto es S_OK. De lo contrario, devuelve uno de los valores siguientes.

Código devuelto Descripción
ERROR_INVALID_HANDLE
El identificador de la clave especificada por hCryptProv no es válido.
E_INVALIDARG
Uno de los parámetros no es válido.
E_OUTOFMEMORY
No hay suficiente memoria para realizar la operación especificada.
PEER_E_ALREADY_EXISTS
La identidad del mismo nivel ya existe. Solo se produce si ya existe una identidad del mismo nivel basada en la clave y el clasificador especificados.
PEER_E_NO_KEY_ACCESS
Se deniega el acceso a la identidad del mismo nivel o a las claves del grupo del mismo nivel. Normalmente, esto se debe a una lista de control de acceso (ACL) incorrecta para la carpeta que contiene las claves de usuario o equipo. Esto puede ocurrir cuando la ACL se ha restablecido manualmente.
PEER_E_TOO_MANY_IDENTITIES
No se puede crear la identidad del mismo nivel porque hay demasiadas identidades del mismo nivel.

Comentarios

El par de claves y el clasificador se usan para generar el nombre del mismo nivel de una nueva identidad del mismo nivel. Una vez creada una identidad del mismo nivel, se almacena automáticamente en el disco.

El nombre de la identidad debe liberarse mediante PeerFreeData. Esto no elimina la identidad del mismo nivel. Para eliminar la identidad, use la función PeerIdentityDelete .

Si hCryptProv no es NULL, se puede liberar mediante CryptReleaseContext después de que se devuelva la llamada.

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP con SP2 [solo aplicaciones de escritorio],Windows XP con SP1 con advanced Networking Pack para Windows XP
Servidor mínimo compatible No se admite ninguno
Plataforma de destino Windows
Encabezado p2p.h
Library P2P.lib
Archivo DLL P2P.dll

Consulte también

CryptReleaseContext

PeerFreeData

PeerIdentityDelete