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

ParseTsColorPointerAttribute() private method

Parse TS_COLORPOINTERATTRIBUTE (parser index is updated according to parsed length)
private ParseTsColorPointerAttribute ( byte data, int &currentIndex ) : TS_COLORPOINTERATTRIBUTE
data byte data to be parsed
currentIndex int current parser index
return TS_COLORPOINTERATTRIBUTE
        private TS_COLORPOINTERATTRIBUTE ParseTsColorPointerAttribute(byte[] data, ref int currentIndex)
        {
            TS_COLORPOINTERATTRIBUTE attribute = new TS_COLORPOINTERATTRIBUTE();

            // TS_COLORPOINTERATTRIBUTE: cacheIndex
            attribute.cacheIndex = ParseUInt16(data, ref currentIndex, false);

            // TS_COLORPOINTERATTRIBUTE: hotSpot
            attribute.hotSpot = ParseTsPoint16(data, ref currentIndex);

            // TS_COLORPOINTERATTRIBUTE: width
            attribute.width = ParseUInt16(data, ref currentIndex, false);

            // TS_COLORPOINTERATTRIBUTE: height
            attribute.height = ParseUInt16(data, ref currentIndex, false);

            // TS_COLORPOINTERATTRIBUTE: lengthAndMask
            attribute.lengthAndMask = ParseUInt16(data, ref currentIndex, false);

            // TS_COLORPOINTERATTRIBUTE: lengthXorMask
            attribute.lengthXorMask = ParseUInt16(data, ref currentIndex, false);

            // TS_COLORPOINTERATTRIBUTE: xorMaskData
            attribute.xorMaskData = GetBytes(data, ref currentIndex, (int)attribute.lengthXorMask);

            // TS_COLORPOINTERATTRIBUTE: andMaskData
            attribute.andMaskData = GetBytes(data, ref currentIndex, (int)attribute.lengthAndMask);

            // TS_COLORPOINTERATTRIBUTE: pad
            attribute.pad = ParseByte(data, ref currentIndex);

            return attribute;
        }
RdpbcgrDecoder