/// <summary> /// Parse TS_SECURITY_HEADER (FIPS) /// (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_SECURITY_HEADER</returns> private TS_SECURITY_HEADER ParseTsSecurityHeaderFips(byte[] data, ref int currentIndex) { TS_SECURITY_HEADER2 header = new TS_SECURITY_HEADER2(); // TS_SECURITY_HEADER2: flags header.flags = (TS_SECURITY_HEADER_flags_Values)ParseUInt16(data, ref currentIndex, false); // TS_SECURITY_HEADER2: flagsHi header.flagsHi = ParseUInt16(data, ref currentIndex, false); // TS_SECURITY_HEADER2: length header.length = (TS_SECURITY_HEADER2_length_Values)ParseUInt16(data, ref currentIndex, false); // TS_SECURITY_HEADER2: version header.version = ParseByte(data, ref currentIndex); // TS_SECURITY_HEADER2: padlen header.padlen = ParseByte(data, ref currentIndex); // TS_SECURITY_HEADER2: dataSignature header.dataSignature = GetBytes(data, ref currentIndex, ConstValue.TS_SECURITY_HEADER_DATA_SIGNATURE_LENGTH); return header; }
/// <summary> /// Create an instance of the class that is identical to the current PDU. /// </summary> /// <returns>The new instance.</returns> public override TS_SECURITY_HEADER Clone() { TS_SECURITY_HEADER2 cloneHeader = new TS_SECURITY_HEADER2(); cloneHeader.flags = flags; cloneHeader.flagsHi = flagsHi; cloneHeader.length = length; cloneHeader.version = version; cloneHeader.padlen = padlen; cloneHeader.dataSignature = RdpbcgrUtility.CloneByteArray(dataSignature); return cloneHeader; }