The TS_MONITOR_DEF packet describes the configuration of a client-side display monitor. The x and y coordinates used to describe the monitor position MUST be relative to the upper-left corner of the monitor designated as the "primary display monitor" (this implies that the upper-left corner of the primary monitor is always (0, 0)).
        /// <summary>
        /// Parse TS_MONITOR_DEF
        /// (parser index is updated according to parsed length)
        /// </summary>
        /// <param name="data">data to be parsed</param>
        /// <param name="currentIndex">current parser index</param>
        /// <returns>TS_MONITOR_DEF</returns>
        private TS_MONITOR_DEF ParseTsMonitorDef(byte[] data, ref int currentIndex)
        {
            TS_MONITOR_DEF def = new TS_MONITOR_DEF();

            // TS_MONITOR_DEF: left
            def.left = ParseUInt32(data, ref currentIndex, false);

            // TS_MONITOR_DEF: top
            def.top = ParseUInt32(data, ref currentIndex, false);

            // TS_MONITOR_DEF: right
            def.right = ParseUInt32(data, ref currentIndex, false);

            // TS_MONITOR_DEF: bottom
            def.bottom = ParseUInt32(data, ref currentIndex, false);

            // TS_MONITOR_DEF: flags
            def.flags = (Flags_TS_MONITOR_DEF)ParseUInt32(data, ref currentIndex, false);

            return def;
        }