PeerCollaboration.RegisterApplication Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir işbirliği oturumu için belirtilen PeerApplication öğesini çağıran eşe kaydeder.
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)
Parametreler
- application
- PeerApplication
PeerApplication İlişkili kapsam (genel, yerel ve bağlantı-yerel) içinde çağrı eşlerinin kaydedildiği yer.
Gerçekleştirilecek kayıt türü. Uygulama yalnızca çağıran eş için veya makineyi kullanan tüm eşler için kaydedilebilir.
- Öznitelikler
Özel durumlar
Path öğesine geçirilen
application
nesnedeki PeerApplication özelliğidirnull
.Sağlanan eş uygulama örneği, zaten kayıtlı olan bir uygulamayla aynı genel olarak benzersizdir Id . Yeni bir uygulamanın sağlanan tanımlayıcıyla kaydedilebilmesi için mevcut kaydın kaydı kaldırılmalıdır.
application
ve type
parametreleri olamaznull
. Her iki parametre de belirtilmelidir.
tür parametresi, numaralandırmada bilinen bir değere PeerApplicationRegistrationType ayarlanmadı.
Çağıran RegisterApplication(PeerApplication, PeerApplicationRegistrationType) altyapıda oturum açana kadar işlem tamamlanamaz.
Örnekler
Aşağıdaki kod örneğinde, bir uygulamanın İşbirliği altyapısına nasıl kaydedilecekleri gösterilmektedir:
// 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;
}
Açıklamalar
Çağıran eş, bu yöntemi çağırmadan önce yöntemiyle eş işbirliği altyapısında SignIn oturum açmak için gereklidir.
Bu yönteme erişim için bir PermissionState gerekir Unrestricted. Bu durum, işbirliği oturumu başladığında oluşturulur Peer .