The RDP Negotiation Request structure is used by a client to advertise the security protocols which it supports.
file:///C:/ts_dev/TestSuites/MS-RDPBCGR/TestSuite/Src/TD/latest_XMLS_16may/RDPBCGR/ _rfc_ms-rdpbcgr2_1_1_1_1.xml
        /// <summary>
        /// Parse An optional RDP Negotiation Request
        /// (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>RDP_NEG_REQ</returns>
        private RDP_NEG_REQ ParseRdpNegReq(byte[] data, ref int currentIndex)
        {
            RDP_NEG_REQ negReq = new RDP_NEG_REQ();
            negReq.type = (type_Values)ParseByte(data, ref currentIndex);
            negReq.flags = (RDP_NEG_REQ_flags_Values)ParseByte(data, ref currentIndex);
            negReq.length = (length_Values)ParseUInt16(data, ref currentIndex, false);
            negReq.requestedProtocols = (requestedProtocols_Values)ParseUInt32(data, ref currentIndex, false);

            return negReq;
        }