Microsoft.Protocols.TestTools.StackSdk.RemoteDesktop.Rdpbcgr.RdpbcgrServerDecoder.ParseTsSecurityHeader C# (CSharp) Method

ParseTsSecurityHeader() private method

Parse Security Header (parser index is updated according to parsed length)
private ParseTsSecurityHeader ( byte data, int &currentIndex, SecurityHeaderType headerType ) : TS_SECURITY_HEADER
data byte data to be parsed
currentIndex int current parser index
headerType SecurityHeaderType security header type
return TS_SECURITY_HEADER
        private TS_SECURITY_HEADER ParseTsSecurityHeader(
            byte[] data,
            ref int currentIndex,
            SecurityHeaderType headerType)
        {
            // parse security header by type
            TS_SECURITY_HEADER header;
            switch (headerType)
            {
                // without header
                case SecurityHeaderType.None:
                    header = null;
                    break;

                // basic header
                case SecurityHeaderType.Basic:
                    header = ParseTsSecurityHeaderBasic(data, ref currentIndex);
                    break;

                // non-fips header
                case SecurityHeaderType.NonFips:
                    header = ParseTsSecurityHeaderNonFips(data, ref currentIndex);
                    break;

                // fips header
                case SecurityHeaderType.Fips:
                    header = ParseTsSecurityHeaderFips(data, ref currentIndex);
                    break;

                default:
                    throw new FormatException(ConstValue.ERROR_MESSAGE_ENUM_UNRECOGNIZED);
            }
            return header;
        }
RdpbcgrServerDecoder