PeerCollaboration.RegisterApplication Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Registra el PeerApplication especificado para una sesión de colaboración con el elemento del mismo nivel que realiza la llamada.
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
PeerApplication para el que se va a registrar el elemento del mismo nivel de llamada dentro del ámbito asociado (global, local y local de vínculo).
Tipo de registro que se va a realizar. La aplicación se puede registrar para llamar simplemente al elemento del mismo nivel o a todos los elementos del mismo nivel que usan el equipo.
- Atributos
Excepciones
La Path propiedad del PeerApplication objeto pasado a
application
esnull
.La instancia de aplicación del mismo nivel proporcionada tiene el mismo Id único global que una aplicación que ya está registrada. Debe estar anulado el registro del registro existente antes de que una nueva aplicación se pueda registrar con el identificador proporcionado.
Los parámetros application
y type
no pueden ser null
. Ambos parámetros deben especificarse.
El parámetro de tipo no se establece en un valor conocido en la enumeración PeerApplicationRegistrationType.
La operación RegisterApplication(PeerApplication, PeerApplicationRegistrationType) no se puede completar hasta que el autor de la llamada haya iniciado sesión en la infraestructura.
Ejemplos
En el ejemplo de código siguiente se muestra cómo registrar una aplicación con la infraestructura de colaboración:
// 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;
}
Comentarios
El elemento del mismo nivel de llamada es necesario para iniciar sesión en la infraestructura de colaboración del mismo nivel con el SignIn método antes de llamar a este método.
El acceso a este método requiere un PermissionState de Unrestricted. Este estado se crea cuando comienza la Peer sesión de colaboración.