PeerCollaboration.RegisterApplication Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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).
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
tonull
.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.