The LICENSE_PREAMBLE structure precedes every licensing packet sent on the wire.
file:///C:/ts_dev/TestSuites/MS-RDPBCGR/TestSuite/Src/TD/latest_XMLS_16may/RDPBCGR/ _rfc_ms-rdpbcgr2_1_1_12_1.xml
        /// <summary>
        /// Parse LICENSE_PREAMBLE
        /// (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>LICENSE_PREAMBLE</returns>
        private LICENSE_PREAMBLE ParseLicensePreamble(byte[] data, ref int currentIndex)
        {
            LICENSE_PREAMBLE preamble = new LICENSE_PREAMBLE();

            // LICENSE_PREAMBLE: bMsgType
            preamble.bMsgType = (bMsgType_Values)ParseByte(data, ref currentIndex);

            // LICENSE_PREAMBLE: bVersion
            preamble.bVersion = (bVersion_Values)ParseByte(data, ref currentIndex);

            // LICENSE_PREAMBLE: wMsgSize
            preamble.wMsgSize = ParseUInt16(data, ref currentIndex, false);

            return preamble;
        }