The MCS Attach User Confirm PDU is an RDP Connection Sequence PDU sent from server to client during the Channel Connection phase (see section 1.3.1.1). It is sent as a response to the MCS Attach User Request PDU (section 2.2.1.6).
Inheritance: RdpbcgrServerPdu
        /// <summary>
        /// [TD Reference 3.2.5.3.7]
        /// Decode MCS Attach User Confirm PDU
        /// </summary>
        /// <param name="data">data to be parsed</param>
        /// <returns>decoded MCS Attach User Confirm PDU</returns>
        public StackPacket DecodeMcsAttachUserConfirmPDU(byte[] data)
        {
            // initialize
            int currentIndex = 0;
            Server_MCS_Attach_User_Confirm_Pdu pdu = new Server_MCS_Attach_User_Confirm_Pdu();

            // McsAttachUserConfirmPDU: TpktHeader
            pdu.tpktHeader = ParseTpktHeader(data, ref currentIndex);

            // McsAttachUserConfirmPDU: x224Data
            pdu.x224Data = ParseX224Data(data, ref currentIndex);

            // McsAttachUserConfirmPDU:
            pdu.attachUserConfirm = (AttachUserConfirm)ParseMcsDomainPdu(data, ref currentIndex).GetData();

            // Check if data length exceeded expectation
            VerifyDataLength(data.Length, currentIndex, ConstValue.ERROR_MESSAGE_DATA_LENGTH_EXCEEDED);
            return pdu;
        }
Ejemplo n.º 2
0
        public override StackPacket Clone()
        {
            Server_MCS_Attach_User_Confirm_Pdu cloneMcsAttachPdu = new Server_MCS_Attach_User_Confirm_Pdu(serverSessionContext);

            cloneMcsAttachPdu.tpktHeader = tpktHeader;
            cloneMcsAttachPdu.x224Data = x224Data;
            cloneMcsAttachPdu.attachUserConfirm = new AttachUserConfirm(
                new Result(attachUserConfirm.result.Value),
                new UserId(attachUserConfirm.initiator.Value));

            return cloneMcsAttachPdu;
        }