PeerCollaboration.RegisterApplication 메서드

정의

협업 세션에 대해 지정된 PeerApplication을 호출 피어에 등록합니다.

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)

매개 변수

application
PeerApplication

연결된 범위(전역, 로컬 및 링크-로컬) 내에서 호출 피어를 등록할 PeerApplication입니다.

type
PeerApplicationRegistrationType

수행할 등록의 형식입니다. 애플리케이션을 호출하는 피어에 대해서만 등록하거나 컴퓨터를 사용하는 모든 피어에 대해 등록할 수 있습니다.

특성

예외

  • 에 전달된 개체의 속성은 Pathapplication 입니다null.PeerApplication

  • 제공된 피어 애플리케이션 인스턴스가 이미 등록된 애플리케이션과 동일한 전역 고유 Id를 갖는 경우. 새 애플리케이션을 제공된 식별자로 등록하려면 먼저 기존 등록을 해제해야 합니다.

applicationtype 매개 변수는 null일 수 없습니다. 두 매개 변수를 모두 지정해야 합니다.

형식 매개 변수가 PeerApplicationRegistrationType 열거형의 알려진 값으로 설정되지 않은 경우

호출자가 인프라에 로그인할 때까지 RegisterApplication(PeerApplication, PeerApplicationRegistrationType) 작업을 완료할 수 없는 경우

예제

다음 코드 예제에는 협업 인프라를 사용 하 여 애플리케이션을 등록 하는 방법을 보여 줍니다.

// 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;
}

설명

호출 피어를 사용 하 여 피어 협업 인프라에 로그인 할 필요는 SignIn 이 메서드를 호출 하기 전에 메서드.

에 액세스 하려면이 메서드는 PermissionStateUnrestricted합니다. 이 상태는 때 생성 되는 Peer 협업 세션을 시작 합니다.

적용 대상