The TS_SUPPRESS_OUTPUT_PDU structure contains the contents of the Suppress Output PDU, which is a Share Data Header and two fields.
file:///C:/ts_dev/TestSuites/MS-RDPBCGR/TestSuite/Src/TD/latest_XMLS_16may/RDPBCGR/ _rfc_ms-rdpbcgr2_1_9_3_1.xml
        /// <summary>
        /// Parse TS_SUPPRESS_OUTPUT_PDU
        /// (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_SUPPRESS_OUTPUT_PDU</returns>
        private TS_SUPPRESS_OUTPUT_PDU ParseTsSuppressOutputPdu(byte[] data, ref int currentIndex)
        {
            TS_SUPPRESS_OUTPUT_PDU pdu = new TS_SUPPRESS_OUTPUT_PDU();
            pdu.shareDataHeader = ParseTsShareDataHeader(data, ref currentIndex);
            pdu.allowDisplayUpdates = (AllowDisplayUpdates_SUPPRESS_OUTPUT)ParseByte(data, ref currentIndex);
            pdu.pad3Octects = GetBytes(data, ref currentIndex, 3);
            if (pdu.allowDisplayUpdates == AllowDisplayUpdates_SUPPRESS_OUTPUT.ALLOW_DISPLAY_UPDATES)
            {
                pdu.desktopRect = ParseInclusiveRect(data, ref currentIndex);
            }

            return pdu;
        }
        /// <summary>
        /// Encode refreshRectPduData field.
        /// </summary>
        /// <param name="suppressOutputPduData">The data to be encoded.</param>
        /// <returns>The encoded data.</returns>
        private static byte[] EncodeSuppressData(TS_SUPPRESS_OUTPUT_PDU suppressOutputPduData)
        {
            List<byte> suppressBuffer = new List<byte>();

            RdpbcgrEncoder.EncodeStructure(suppressBuffer, suppressOutputPduData.shareDataHeader);
            RdpbcgrEncoder.EncodeStructure(suppressBuffer, (byte)suppressOutputPduData.allowDisplayUpdates);
            RdpbcgrEncoder.EncodeBytes(suppressBuffer, suppressOutputPduData.pad3Octects);
            if (suppressOutputPduData.allowDisplayUpdates == AllowDisplayUpdates_SUPPRESS_OUTPUT.ALLOW_DISPLAY_UPDATES)
            {
                RdpbcgrEncoder.EncodeStructure(suppressBuffer, suppressOutputPduData.desktopRect);
            }

            return suppressBuffer.ToArray();
        }