PeerCollaboration.RegisterApplication Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Registrerar den angivna PeerApplication för en samarbetssession med den anropande peeren.
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)
Parametrar
- application
- PeerApplication
För PeerApplication vilken du ska registrera den anropande peern inom det associerade omfånget (global, lokal och länklokal).
Vilken typ av registrering som ska utföras. Programmet kan vara registrerat för bara den anropande peer-datorn eller för alla peer-datorer som använder datorn.
- Attribut
Undantag
Egenskapen Path för objektet som skickas PeerApplication till
applicationärnull.Den peer-programinstans som tillhandahålls har samma globalt unika Id som ett program som redan är registrerat. Den befintliga registreringen måste avregistreras innan ett nytt program kan registreras med den angivna identifieraren.
Parametrarna application och type får inte vara null. Båda parametrarna måste anges.
Typparametern är inte inställd på ett känt värde i PeerApplicationRegistrationType uppräkningen.
Åtgärden RegisterApplication(PeerApplication, PeerApplicationRegistrationType) kan inte slutföras förrän anroparen har loggat in på infrastrukturen.
Exempel
I följande kodexempel visas hur du registrerar ett program med samarbetsinfrastrukturen:
// 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;
}
Kommentarer
Den anropande peer-filen krävs för att logga in på peer-samarbetsinfrastrukturen SignIn med metoden innan den här metoden anropas.
Åtkomst till den här metoden kräver en PermissionState av Unrestricted. Det här tillståndet skapas när samarbetssessionen Peer börjar.