/// <summary>
        /// Parse the RopGetNamesFromPropertyIdsResponse structure.
        /// </summary>
        /// <param name="s">An stream containing RopGetNamesFromPropertyIdsResponse structure.</param>
        public override void Parse(Stream s)
        {
            base.Parse(s);

            this.RopId = (RopIdType)ReadByte();
            this.InputHandleIndex = ReadByte();
            HelpMethod help = new HelpMethod();
            this.ReturnValue = help.FormatErrorCode(ReadUint());
            if ((ErrorCodes)ReturnValue == ErrorCodes.Success)
            {
                this.PropertyNameCount = ReadUshort();
                this.PropertyNames = new PropertyName[(int)this.PropertyNameCount];
                for (int i = 0; i < this.PropertyNameCount; i++)
                {
                    PropertyNames[i] = new PropertyName();
                    PropertyNames[i].Parse(s);
                }
            }
        }
        /// <summary>
        /// Parse the RopGetPropertyIdsFromNamesRequest structure.
        /// </summary>
        /// <param name="s">An stream containing RopGetPropertyIdsFromNamesRequest structure.</param>
        public override void Parse(Stream s)
        {
            base.Parse(s);

            this.RopId = (RopIdType)ReadByte();
            this.LogonId = ReadByte();
            this.InputHandleIndex = ReadByte();
            this.Flags = ReadByte();
            this.PropertyNameCount = ReadUshort();
            this.PropertyNames = new PropertyName[(int)this.PropertyNameCount];
            for (int i = 0; i < this.PropertyNameCount; i++)
            {
                PropertyNames[i] = new PropertyName();
                PropertyNames[i].Parse(s);
            }
        }