Creación de una identidad del mismo nivel
La API de Identity Manager permite crear una identidad del mismo nivel para usarla en una red del mismo nivel.
Al crear una identidad del mismo nivel, puede proporcionar la siguiente información opcional:
- Clasificador
- Nombre descriptivo
- Proveedor de servicios criptográficos
Nota
Siempre que sea posible, vuelva a usar una identidad del mismo nivel.
Ejemplo de creación y eliminación de una identidad del mismo nivel
El siguiente fragmento de código muestra cómo crear y eliminar una identidad del mismo nivel mediante un clasificador y un nombre descriptivo.
#define UNICODE
#include <p2p.h>
#include <stdio.h>
#pragma comment(lib, "p2p.lib")
//-----------------------------------------------------------------------------
// Function: CreateIdentity
//
// Purpose: Creates a new Identity.
//
// Returns: HRESULT
//
HRESULT CreateIdentity(PWSTR pwzFriendlyName)
{
HRESULT hr = S_OK;
PWSTR pwzClassifier = L"GroupMember";
PWSTR pwzIdentity = NULL;
hr = PeerIdentityCreate(pwzClassifier, pwzFriendlyName, 0, &pwzIdentity);
if (FAILED(hr))
{
printf("Failed to create identity.");
}
else
{
printf("Identity: %s", pwzFriendlyName);
}
PeerFreeData(pwzIdentity);
return hr;
}
//-----------------------------------------------------------------------------
// Function: DeleteIdentity
//
// Purpose: Delete the identity created by CreateIdentity
//
// Returns: HRESULT
//
HRESULT DeleteIdentity()
{
HRESULT hr = S_OK;
if (g_pwzIdentity)
{
hr = PeerIdentityDelete(g_pwzIdentity);
g_pwzIdentity = NULL;
}
return hr;
}