Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.RdpbcgrDecoder.SwitchDecodeMcsSendDataIndicationPDU C# (CSharp) Method

SwitchDecodeMcsSendDataIndicationPDU() private method

Switch Decode MCS Send Data Indication PDU
private SwitchDecodeMcsSendDataIndicationPDU ( byte data, byte decryptedUserData, SecurityHeaderType securityHeaderType ) : StackPacket
data byte data to be parsed
decryptedUserData byte decrypted user data
securityHeaderType SecurityHeaderType security header type
return StackPacket
        private StackPacket SwitchDecodeMcsSendDataIndicationPDU(
            byte[] data,
            byte[] decryptedUserData,
            SecurityHeaderType securityHeaderType)
        {
            // Parse "share control header"
            int currentIndex = 0;
            TS_SHARECONTROLHEADER header = ParseTsShareControlHeader(decryptedUserData, ref currentIndex);
            ShareControlHeaderType shareControlHeaderType = GetShareControlHeaderType(header);

            // Switch decoder by share control header type
            StackPacket pdu = null;
            switch (shareControlHeaderType)
            {
                // Demand Active PDU
                case ShareControlHeaderType.PDUTYPE_DEMANDACTIVEPDU:
                    pdu = DecodeDemandActivePDU(data, decryptedUserData, securityHeaderType);
                    break;

                // Deactivate All PDU
                case ShareControlHeaderType.PDUTYPE_DEACTIVATEALLPDU:
                    pdu = DecodeDeactivateAllPDU(data, decryptedUserData, securityHeaderType);
                    break;

                // Data PDU
                case ShareControlHeaderType.PDUTYPE_DATAPDU:
                    pdu = SwitchDecodeMcsDataPDU(data, decryptedUserData, securityHeaderType);
                    break;

                // Server Redirection PDU
                case ShareControlHeaderType.PDUTYPE_SERVER_REDIR_PKT:
                    pdu = DecodeEnhancedServerRedirectionPDU(data, decryptedUserData, securityHeaderType);
                    break;

                default:
                    throw new FormatException(ConstValue.ERROR_MESSAGE_ENUM_UNRECOGNIZED);
            }
            return pdu;
        }
RdpbcgrDecoder