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

EncodeSurfBits() private method

private EncodeSurfBits ( TS_SURFCMD_SET_SURF_BITS surfBitsData ) : byte[]
surfBitsData TS_SURFCMD_SET_SURF_BITS
return byte[]
        private byte[] EncodeSurfBits(TS_SURFCMD_SET_SURF_BITS surfBitsData)
        {
            List<byte> buffer = new List<byte>();

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

            return buffer.ToArray();
        }