PeerCollaboration.RegisterApplication(PeerApplication, PeerApplicationRegistrationType) Method

Definition

Registra l'oggetto PeerApplication specificato per una sessione di collaborazione con il peer chiamante.Registers the specified PeerApplication for a collaboration session with the calling peer.

public:
 static void RegisterApplication(System::Net::PeerToPeer::Collaboration::PeerApplication ^ application, System::Net::PeerToPeer::Collaboration::PeerApplicationRegistrationType type);
[System.Security.SecurityCritical]
public static void RegisterApplication (System.Net.PeerToPeer.Collaboration.PeerApplication application, System.Net.PeerToPeer.Collaboration.PeerApplicationRegistrationType type);
static member RegisterApplication : System.Net.PeerToPeer.Collaboration.PeerApplication * System.Net.PeerToPeer.Collaboration.PeerApplicationRegistrationType -> unit
Public Shared Sub RegisterApplication (application As PeerApplication, type As PeerApplicationRegistrationType)

Parameters

application
PeerApplication

Oggetto PeerApplication per il quale registrare il peer chiamante all'interno dell'ambito associato (globale, locale e locale rispetto al collegamento).The PeerApplication for which to register the calling peer within the associated scope (global, local, and link-local).

type
PeerApplicationRegistrationType

Tipo di registrazione da eseguire.The type of registration to perform. L'applicazione può essere registrata solo per il peer chiamante o per tutti i peer che usano il computer.The application may be registered for just the calling peer or for all peers using the machine.

Attributes

Exceptions

- La proprietà Path dell'oggetto PeerApplication passato a application è null.- The Path property on the PeerApplication object passed to application is null.

- L'istanza dell'applicazione peer fornita ha la stessa proprietà Id univoca globale di un'applicazione già registrata.- The peer application instance provided has the same globally unique Id as an application which is already registered. La registrazione esistente deve essere annullata prima che una nuova applicazione possa essere registrata con l'identificatore fornito.The existing registration must be unregistered before a new application can be registered with the provided identifier.

I parametri application e type non possono essere null.The application and type parameters cannot be null. Entrambi i parametri devono essere specificati.Both parameters must be specified.

Il parametro di tipo non è impostato su un valore noto nell'enumerazione PeerApplicationRegistrationType.The type parameter is not set to a known value in the PeerApplicationRegistrationType enumeration.

L'operazione RegisterApplication(PeerApplication, PeerApplicationRegistrationType) può essere completata solo dopo che il chiamante ha eseguito l'accesso all'infrastruttura.The RegisterApplication(PeerApplication, PeerApplicationRegistrationType) operation cannot be completed until the caller has signed-in to the infrastructure.

Examples

Nell'esempio di codice seguente viene illustrato come registrare un'applicazione con l'infrastruttura di collaborazione:The following code example illustrates how to register an application with the Collaboration infrastructure:

// Registering Notepad.exe as a collab application with a fixed GUID.
// Note: If you're using the application to send invitations,
// the same application with the same GUID must be registered on the remote peer machine.
private static PeerApplication RegisterCollabApp()
{
    PeerApplication application = null;
    string pathToApp = "%SystemRoot%\\notepad.exe";
    Guid appGuid = new Guid(0xAAAAAAAA, 0xFADE, 0xDEAF, 0xBE, 0xEF, 0xFF, 0xEE, 0xDD, 0xCC, 0xBB, 0xAE);

    application = new PeerApplication();
    application.Id = appGuid;
    application.Path = pathToApp;
    application.Description = "Peer Collaboration Sample -- notepad.exe";
    application.PeerScope = PeerScope.All;
    application.CommandLineArgs = "n";
    application.Data = ASCIIEncoding.ASCII.GetBytes("Test");

    Console.WriteLine("Attempting to register the application \"notepad.exe\"...");
    try
    {

        PeerApplicationCollection pac = PeerCollaboration.GetLocalRegisteredApplications(PeerApplicationRegistrationType.AllUsers);
        if (pac.Contains(application))
        {
            Console.WriteLine("The application is already registered on the peer.");
        }
        else
        {
            PeerCollaboration.RegisterApplication(application, PeerApplicationRegistrationType.AllUsers);
            Console.WriteLine("Application registration succeeded!");
        }
    }
    catch (ArgumentException argEx)
    {
        Console.WriteLine("The application was previously registered with the Peer Collaboration Infrastructure: {0}.", argEx.Message);
    }
    catch (PeerToPeerException p2pEx)
    {
        Console.WriteLine("The application failed to register with the Peer Collaboration Infrastructure: {0}", p2pEx.Message);
    }
    catch (Exception ex)
    {
        Console.WriteLine("An unexpected exception occurred when trying to register the application: {0}.", ex.Message);
    }
    return application;
}

Remarks

Il peer chiamante è necessario per accedere all'infrastruttura di collaborazione peer con il metodo SignIn prima di chiamare questo metodo.The calling peer is required to sign in to the peer collaboration infrastructure with the SignIn method prior to calling this method.

L'accesso a questo metodo richiede un PermissionState di Unrestricted.Access to this method requires a PermissionState of Unrestricted. Questo stato viene creato all'inizio della sessione di collaborazione Peer.This state is created when the Peer collaboration session begins.

Applies to