PeerCollaboration.RegisterApplication Metoda

Definicja

Rejestruje określoną PeerApplication sesję współpracy z wywołującym elementem równorzędnym.

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);
[<System.Security.SecurityCritical>]
static member RegisterApplication : System.Net.PeerToPeer.Collaboration.PeerApplication * System.Net.PeerToPeer.Collaboration.PeerApplicationRegistrationType -> unit
Public Shared Sub RegisterApplication (application As PeerApplication, type As PeerApplicationRegistrationType)

Parametry

application
PeerApplication

Element PeerApplication , dla którego ma zostać zarejestrowany wywołujący element równorzędny w skojarzonym zakresie (globalny, lokalny i link-local).

type
PeerApplicationRegistrationType

Typ rejestracji do wykonania. Aplikacja może być zarejestrowana tylko dla elementu równorzędnego wywołującego lub dla wszystkich elementów równorzędnych korzystających z maszyny.

Atrybuty

Wyjątki

  • Właściwość Path obiektu przekazanego PeerApplication do application to null.

  • Udostępnione wystąpienie aplikacji równorzędnej ma tę samą globalnie unikatową nazwę Id co aplikacja, która jest już zarejestrowana. Istniejąca rejestracja musi być wyrejestrowana, zanim będzie można zarejestrować nową aplikację przy użyciu podanego identyfikatora.

Parametrami application i type nie może być null. Należy określić oba parametry.

Parametr typu nie jest ustawiony na znaną wartość w wyliczenie PeerApplicationRegistrationType .

Nie RegisterApplication(PeerApplication, PeerApplicationRegistrationType) można ukończyć operacji, dopóki obiekt wywołujący nie zalogował się do infrastruktury.

Przykłady

W poniższym przykładzie kodu pokazano, jak zarejestrować aplikację w infrastrukturze współpracy:

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

Uwagi

Wywołanie elementu równorzędnego jest wymagane do zalogowania się do infrastruktury współpracy równorzędnej z SignIn metodą przed wywołaniem tej metody.

Dostęp do tej metody wymaga wartości PermissionStateUnrestricted. Ten stan jest tworzony po rozpoczęciu Peer sesji współpracy.

Dotyczy