protected internal override void Load(IBinaryAccessor accessor)
        {
            if (accessor.IsEof())
            {
                return;
            }

            int length = accessor.ReadCompressedInteger();

            if (length > 0)
            {
                _guidString = accessor.ReadString(length, Encoding.UTF8);
            }

            if (accessor.IsEof())
            {
                return;
            }

            length = accessor.ReadCompressedInteger();
            if (length > 0)
            {
                _unmanagedTypeString = accessor.ReadString(length, Encoding.UTF8);
            }

            if (accessor.IsEof())
            {
                return;
            }

            length = accessor.ReadCompressedInteger();
            if (length > 0)
            {
                _typeName = accessor.ReadString(length, Encoding.UTF8);
            }

            if (accessor.IsEof())
            {
                return;
            }

            length = accessor.ReadCompressedInteger();
            if (length > 0)
            {
                _cookie = accessor.ReadString(length, Encoding.UTF8);
            }
        }
예제 #2
0
        protected internal override void Load(IBinaryAccessor accessor)
        {
            if (accessor.IsEof())
            {
                return;
            }

            _length = accessor.ReadCompressedInteger();
        }
예제 #3
0
        protected internal override void Load(IBinaryAccessor accessor)
        {
            if (accessor.IsEof())
            {
                return;
            }

            _variantType = (UnmanagedVariantType)accessor.ReadCompressedInteger();

            if (accessor.IsEof())
            {
                return;
            }

            int length = accessor.ReadCompressedInteger();

            if (length > 0)
            {
                _userDefinedSubType = accessor.ReadString(length, Encoding.UTF8);
            }
        }
        protected internal override void Load(IBinaryAccessor accessor)
        {
            if (accessor.IsEof())
            {
                return;
            }

            if (_unmanagedType == UnmanagedType.IUnknown ||
                _unmanagedType == UnmanagedType.IDispatch ||
                _unmanagedType == UnmanagedType.Interface)
            {
                _iidParameterIndex = accessor.ReadCompressedInteger();
            }
        }
예제 #5
0
        protected internal override void Load(IBinaryAccessor accessor)
        {
            _arraySubType = (UnmanagedType)accessor.ReadByte();

            // The value MAX is used to indicate "no info."
            if (_arraySubType == UnmanagedType.Max)
            {
                return;
            }

            if (accessor.IsEof())
            {
                return;
            }

            if (_arraySubType == UnmanagedType.IUnknown ||
                _arraySubType == UnmanagedType.IDispatch ||
                _arraySubType == UnmanagedType.Interface)
            {
                _iidParameterIndex = accessor.ReadCompressedInteger();
            }

            if (accessor.IsEof())
            {
                return;
            }

            _lengthParamIndex = accessor.ReadCompressedInteger();

            if (accessor.IsEof())
            {
                return;
            }

            _arrayLength = accessor.ReadCompressedInteger();
        }