Compartir a través de


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;
}