コード例 #1
0
ファイル: RdpBridge.cs プロジェクト: sadanjon/RemoteCat
        public void Start(RdpBridgeStartOptions options)
        {
            _running = true;

            StartIngressThread();

            _channel.WriteDelimited(new SessionMessage
            {
                SessionStart = new SessionStartMessage
                {
                    SessionId = options.SessionId,
                }
            });

            FreeRdpGlue.Main(new MainOptions
            {
                Hostname    = options.Host,
                Username    = options.Username,
                Password    = options.Password,
                Domain      = options.Domain,
                EntryPoints = new EntryPoints
                {
                    OnContextCreated    = OnContextCreated,
                    OnAuthenticate      = OnAuthenticate,
                    OnVerifyCertificate = FrgOnVerifyCertificateFn,
                    UpdateCallbacks     = new UpdateCallbacks
                    {
                    }
                }
            });

            _channel.WriteDelimited(new RdpMessage
            {
                SessionEnd = new RdpSessionEndMessage {
                },
            });

            _running = false;
            Console.WriteLine("YYY 1");
            _inputThread.Join();
            Console.WriteLine("YYY 2");
            _channel.Close();
            Console.WriteLine("YYY 3");

            if (_exitError != null)
            {
                throw _exitError;
            }
        }