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

ParseTsGraphicsUpdatePdu() private method

Parse Slow-Path Graphics Update PDU
private ParseTsGraphicsUpdatePdu ( byte updateData, TS_SHAREDATAHEADER shareDataHeader ) : RdpbcgrSlowPathUpdatePdu
updateData byte update data (decompressed if were compressed
shareDataHeader TS_SHAREDATAHEADER share data header
return RdpbcgrSlowPathUpdatePdu
        private RdpbcgrSlowPathUpdatePdu ParseTsGraphicsUpdatePdu(
            byte[] updateData,
            TS_SHAREDATAHEADER shareDataHeader)
        {
            // Get update type
            int tempIndex = 0;
            updateType_Values updateType = (updateType_Values)ParseUInt16(updateData, ref tempIndex, false);

            // Parse pdu by update type
            RdpbcgrSlowPathUpdatePdu pdu;
            switch (updateType)
            {
                // TS_UPDATE_ORDERS_PDU_DATA
                case updateType_Values.UPDATETYPE_ORDERS:
                    pdu = ParseTsUpdateOrdersPduData(updateData, shareDataHeader);
                    break;

                // TS_UPDATE_BITMAP_PDU_DATA
                case updateType_Values.UPDATETYPE_BITMAP:
                    pdu = ParseTsUpdateBitmapPduData(updateData, shareDataHeader);
                    break;

                // TS_UPDATE_PALETTE_PDU_DATA
                case updateType_Values.UPDATETYPE_PALETTE:
                    pdu = ParseTsUpdatePalettePduData(updateData, shareDataHeader);
                    break;

                // TS_UPDATE_SYNC_PDU_DATA
                case updateType_Values.UPDATETYPE_SYNCHRONIZE:
                    pdu = ParseTsUpdateSyncPduData(updateData, shareDataHeader);
                    break;

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