/// <summary> /// Start RDP connection /// </summary> private void StartRDPConnection() { #region Trigger client to connect //Trigger client to connect. this.TestSite.Log.Add(LogEntryKind.Comment, "Triggering SUT to initiate a RDP connection to server."); triggerClientRDPConnect(transportProtocol, true); #endregion #region RDPBCGR Connection // Waiting for the transport level connection request. this.TestSite.Log.Add(LogEntryKind.Comment, "Expecting the transport layer connection request."); this.rdpbcgrAdapter.ExpectTransportConnection(RDPSessionType.Normal); //Set Server Capability with RomoteFX codec supported. this.TestSite.Log.Add(LogEntryKind.Comment, "Setting Server RDPRFX Capability."); setServerCapabilitiesWithRemoteFxSupported(); // Waiting for the RDP connection sequence. this.TestSite.Log.Add(LogEntryKind.Comment, "Establishing RDP connection."); this.rdpbcgrAdapter.EstablishRDPConnection(selectedProtocol, enMethod, enLevel, true, false, rdpServerVersion); this.TestSite.Log.Add(LogEntryKind.Comment, "Sending Server Save Session Info PDU to SUT to notify user has logged on."); this.rdpbcgrAdapter.ServerSaveSessionInfo(LogonNotificationType.UserLoggedOn, ErrorNotificationType_Values.LOGON_FAILED_OTHER); #endregion rdpedycServer = new RdpedycServer(this.rdpbcgrAdapter.ServerStack, this.rdpbcgrAdapter.SessionContext); rdpedycServer.ExchangeCapabilities(waitTime); if (notificationType == NotificationType.SurfaceManagementCommand) { this.rdpegfxAdapter = this.TestSite.GetAdapter <IRdpegfxAdapter>(); this.rdpegfxAdapter.Reset(); this.rdprfxAdapter = null; // RDPEGFX capability exchange RDPEGFX_CapabilityExchange(); this.rdpedispAdapter.AttachRdpbcgrAdapter(this.rdpbcgrAdapter); this.rdpedispAdapter.AttachRdpegfxAdapter(rdpegfxAdapter); } else { this.rdprfxAdapter = this.TestSite.GetAdapter <IRdprfxAdapter>(); this.rdprfxAdapter.Reset(); //Initial the RDPRFX adapter context. rdprfxAdapter.Accept(this.rdpbcgrAdapter.ServerStack, this.rdpbcgrAdapter.SessionContext); receiveAndLogClientRfxCapabilites(); this.rdpedispAdapter.AttachRdpbcgrAdapter(this.rdpbcgrAdapter); this.rdpedispAdapter.AttachRdprfxAdapter(this.rdprfxAdapter); } }
/// <summary> /// Start RDP connection /// </summary> private void StartRDPConnection() { #region Trigger client to connect //Trigger client to connect. this.TestSite.Log.Add(LogEntryKind.Comment, "Triggering SUT to initiate a RDP connection to server."); triggerClientRDPConnect(transportProtocol, true); #endregion #region RDPBCGR Connection // Waiting for the transport level connection request. this.TestSite.Log.Add(LogEntryKind.Comment, "Expecting the transport layer connection request."); this.rdpbcgrAdapter.ExpectTransportConnection(RDPSessionType.Normal); //Set Server Capability with RomoteFX codec supported. this.TestSite.Log.Add(LogEntryKind.Comment, "Setting Server RDPRFX Capability."); setServerCapabilitiesWithRemoteFxSupported(); // Waiting for the RDP connection sequence. this.TestSite.Log.Add(LogEntryKind.Comment, "Establishing RDP connection."); this.rdpbcgrAdapter.EstablishRDPConnection(selectedProtocol, enMethod, enLevel, true, false, rdpServerVersion); this.TestSite.Log.Add(LogEntryKind.Comment, "Sending Server Save Session Info PDU to SUT to notify user has logged on."); this.rdpbcgrAdapter.ServerSaveSessionInfo(LogonNotificationType.UserLoggedOn, ErrorNotificationType_Values.LOGON_FAILED_OTHER); #endregion rdpedycServer = new RdpedycServer(this.rdpbcgrAdapter.ServerStack, this.rdpbcgrAdapter.SessionContext); rdpedycServer.ExchangeCapabilities(waitTime); if (notificationType == NotificationType.SurfaceManagementCommand) { this.rdpegfxAdapter = (IRdpegfxAdapter)this.TestSite.GetAdapter(typeof(IRdpegfxAdapter)); this.rdpegfxAdapter.Reset(); this.rdprfxAdapter = null; // RDPEGFX capability exchange RDPEGFX_CapabilityExchange(); this.rdpedispAdapter.AttachRdpbcgrAdapter(this.rdpbcgrAdapter); this.rdpedispAdapter.AttachRdpegfxAdapter(rdpegfxAdapter); } else { this.rdprfxAdapter = (IRdprfxAdapter)this.TestSite.GetAdapter(typeof(IRdprfxAdapter)); this.rdprfxAdapter.Reset(); //Initial the RDPRFX adapter context. rdprfxAdapter.Accept(this.rdpbcgrAdapter.ServerStack, this.rdpbcgrAdapter.SessionContext); receiveAndLogClientRfxCapabilites(); this.rdpedispAdapter.AttachRdpbcgrAdapter(this.rdpbcgrAdapter); this.rdpedispAdapter.AttachRdprfxAdapter(this.rdprfxAdapter); } }