Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.TS_FP_UPDATE_PDU.EncodeSurfStream C# (CSharp) Method

EncodeSurfStream() private method

private EncodeSurfStream ( TS_SURFCMD_STREAM_SURF_BITS surfStreamData ) : byte[]
surfStreamData TS_SURFCMD_STREAM_SURF_BITS
return byte[]
        private byte[] EncodeSurfStream(TS_SURFCMD_STREAM_SURF_BITS surfStreamData)
        {
            List<byte> buffer = new List<byte>();

            RdpbcgrEncoder.EncodeStructure(buffer, (ushort)surfStreamData.cmdType);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.destLeft);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.destTop);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.destRight);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.destBottom);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.bpp);
            RdpbcgrEncoder.EncodeStructure(buffer, (byte)surfStreamData.bitmapData.flags);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.reserved);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.codecID);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.width);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.height);
            RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.bitmapDataLength);
            if(surfStreamData.bitmapData.exBitmapDataHeader != null)
            {
                RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.exBitmapDataHeader.highUniqueId);
                RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.exBitmapDataHeader.lowUniqueId);
                RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.exBitmapDataHeader.tmMilliseconds);
                RdpbcgrEncoder.EncodeStructure(buffer, surfStreamData.bitmapData.exBitmapDataHeader.tmSeconds);
            }
            if (surfStreamData.bitmapData.bitmapData != null)
            {
                RdpbcgrEncoder.EncodeBytes(buffer, surfStreamData.bitmapData.bitmapData);
            }

            return buffer.ToArray();
        }