다음을 통해 공유


시퀀스 시작

프로토콜 공급자를 시작하려면 원격 데스크톱 서비스 서비스를 사용합니다.

  • 레지스트리에서 수신기의 이름과 프로토콜 관리자 개체의 CLSID(IWRdsProtocolManager)를 검색합니다. 자세한 내용은 프로토콜 관리자 등록을 참조하세요.
  • Initialize를 호출하여 프로토콜 관리자를 초기화합니다.
  • CLSID를 사용하여 프로토콜 관리자 개체를 만듭니다. 동일한 프로토콜 공급자에 대해 등록된 수신기가 여러 개 있는 경우에도 서비스는 하나의 프로토콜 관리자 개체만 만듭니다.
  • CreateListener를 호출하여 프로토콜 관리자 개체에 IWRdsProtocolListener 수신기 개체를 만들고 서비스로 반환하도록 지시합니다. 프로토콜 관리자 개체는 서비스에 반환하기 전에 수신기 개체에 대한 참조를 추가해야 합니다. 서비스는 서비스가 중지되거나 수신기가 삭제될 때 개체를 해제합니다.
  • 수신기가 들어오는 연결에 대한 수신 대기를 시작할 수 있도록 수신기 개체에서 StartListen 을 호출합니다.
  • StopListen을 호출하여 수신기 개체의 수신을 중지합니다.
  • Uninitialize를 호출하여 프로토콜 관리자를 초기화하지 않습니다.

수신기는 클라이언트가 연결을 시도할 때 IWRdsProtocolConnection 개체를 만듭니다. 수신기 개체는 OnConnected 를 호출하여 원격 데스크톱 서비스 서비스에 새 클라이언트가 연결하거나 다시 연결하려고 한다고 알리고 해당 호출에서 IWRdsProtocolConnection 개체를 전달합니다. 원격 데스크톱 서비스 서비스는 프로토콜이 필요에 따라 원격 데스크톱 서비스 서비스와 통신할 수 있도록 해당 호출에서 IWRdsProtocolConnectionCallback 개체를 반환합니다. 서비스는 반환하기 전에 콜백 개체에 대한 참조를 추가하며, 프로토콜은 연결이 닫히면 해당 참조를 해제해야 합니다.

다음 그림에서는 시작하는 동안 다양한 개체 간의 상호 작용을 보여 줍니다.

rcm 시작 시퀀스

메서드 호출 시퀀스

연결 시퀀스