// Token: 0x06006C84 RID: 27780 RVA: 0x001F3B50 File Offset: 0x001F1D50
 internal UnsafeIndexingFilterStream(MS.Internal.Interop.IStream oleStream)
 {
     if (oleStream == null)
     {
         throw new ArgumentNullException("oleStream");
     }
     this._oleStream = oleStream;
     this._disposed  = false;
 }
Exemple #2
0
        void IPersistStream.Load(MS.Internal.Interop.IStream stream)
        {
            // Check argument.
            if (stream == null)
            {
                throw new ArgumentNullException("stream");
            }

            // Only one of _package and _encryptedPackage can be non-null at a time.
            Invariant.Assert(_package == null || _encryptedPackage == null);

            // If there has been a previous call to Load, reinitialize everything.
            // Note closing a closed stream does not cause any exception.
            ReleaseResources();

            _filter      = null;
            _xpsFileName = null;

            try
            {
                _packageStream = new UnsafeIndexingFilterStream(stream);

                // different filter for encrypted package
                if (EncryptedPackageEnvelope.IsEncryptedPackageEnvelope(_packageStream))
                {
                    // Open the encrypted package.
                    _encryptedPackage = EncryptedPackageEnvelope.Open(_packageStream);
                    _filter           = new EncryptedPackageFilter(_encryptedPackage);
                }
                else
                {
                    // Open the package.
                    _package = Package.Open(_packageStream);
                    _filter  = new PackageFilter(_package);
                }
            }
            catch (IOException ex)
            {
                throw new COMException(ex.Message, (int)FilterErrorCode.FILTER_E_ACCESS);
            }
            catch (Exception ex)
            {
                throw new COMException(ex.Message, (int)FilterErrorCode.FILTER_E_UNKNOWNFORMAT);
            }
            finally
            {
                // clean-up if we failed
                if (_filter == null)
                {
                    ReleaseResources();
                }
            }
        }
Exemple #3
0
 /// <summary>
 /// Saves a copy of the object into the specified stream.
 /// </summary>
 /// <param name="stream">The stream to which the object is saved. </param>
 /// <param name="fClearDirty">Indicates whether the dirty state is to be cleared. </param>
 /// <remarks>
 /// Expected error codes are described at
 /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/com/html/b748b4f9-ef9c-486b-bdc4-4d23c4640ff7.asp
 /// </remarks>
 void IPersistStream.Save(MS.Internal.Interop.IStream stream, bool fClearDirty)
 {
     throw new COMException(SR.Get(SRID.FilterIPersistStreamIsReadOnly), NativeMethods.STG_E_CANTSAVE);
 }