PeerCollaboration.RegisterApplication Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Registra o PeerApplication especificado para uma sessão de colaboração com o par de chamada.
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)
Parâmetros
- application
- PeerApplication
O PeerApplication para o qual registrar o par de chamada dentro do escopo associado (global, local e local de link).
O tipo de registro a ser executado. O aplicativo pode ser registrado para apenas o par de chamada ou para todos os pares que usam o computador.
- Atributos
Exceções
A Path propriedade no PeerApplication objeto passado para
application
énull
.A instância do aplicativo de ponto a ponto fornecido tem o mesmo Id global exclusivo que um aplicativo que já está registrado. O registro existente deve ser cancelado para que um novo aplicativo possa ser registrado com o identificador fornecido.
Os parâmetros application
e type
não podem ser null
. Ambos os parâmetros devem ser especificados.
O parâmetro de tipo não está definido como um valor conhecido na enumeração PeerApplicationRegistrationType.
A operação RegisterApplication(PeerApplication, PeerApplicationRegistrationType) não poderá ser concluída até que o chamador tenha se conectado à infraestrutura.
Exemplos
O exemplo de código a seguir ilustra como registrar um aplicativo com a infraestrutura de colaboração:
// 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;
}
Comentários
O par de chamadas é necessário para entrar na infraestrutura de colaboração de pares com o SignIn método antes de chamar esse método.
O acesso a esse método requer um PermissionState de Unrestricted. Esse estado é criado quando a Peer sessão de colaboração é iniciada.