Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / MS / Internal / IO / Packaging / EncryptedPackageFilter.cs / 1 / EncryptedPackageFilter.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // Implements indexing filter for EncryptedPackageEnvelope. // Invoked by XpsFilter if the file/stream being filtered // is an EncryptedPackageEnvelope. // // History: // 07/18/2005: ArindamB: Initial implementation //--------------------------------------------------------------------------- using System; using System.Windows; using System.Runtime.InteropServices; using System.IO.Packaging; using MS.Internal.Interop; namespace MS.Internal.IO.Packaging { #region EncryptedPackageFilter ////// Implements IFilter methods to support indexing on EncryptedPackageEnvelope. /// internal class EncryptedPackageFilter : IFilter { #region Constructor ////// Constructor. /// /// EncryptedPackageEnvelope to filter on internal EncryptedPackageFilter(EncryptedPackageEnvelope encryptedPackage) { if (encryptedPackage == null) { throw new ArgumentNullException("encryptedPackage"); } // // Since CorePropertiesFilter is implemented as // a managed filter (supports IManagedFilter interface), // IndexingFilterMarshaler is used to get IFilter interface out of it. // _filter = new IndexingFilterMarshaler( new CorePropertiesFilter( encryptedPackage.PackageProperties )); } #endregion Constructor #region IFilter methods ////// Initialzes the session for this filter. /// /// usage flags /// number of elements in aAttributes array /// array of FULLPROPSPEC structs to restrict responses ///IFILTER_FLAGS_NONE. Return value is effectively ignored by the caller. public IFILTER_FLAGS Init( [In] IFILTER_INIT grfFlags, [In] uint cAttributes, [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] FULLPROPSPEC[] aAttributes) { return _filter.Init(grfFlags, cAttributes, aAttributes); } ////// Returns description of the next chunk. /// ///Chunk descriptor public STAT_CHUNK GetChunk() { return _filter.GetChunk(); } ////// Gets text content corresponding to current chunk. /// /// /// ///Not supported in indexing of core properties. public void GetText(ref uint bufCharacterCount, IntPtr pBuffer) { throw new COMException(SR.Get(SRID.FilterGetTextNotSupported), (int)FilterErrorCode.FILTER_E_NO_TEXT); } ////// Gets the property value corresponding to current chunk. /// ///property value public IntPtr GetValue() { return _filter.GetValue(); } ////// Retrieves an interface representing the specified portion of the object. /// /// /// ///Not implemented. Reserved for future use. public IntPtr BindRegion([In] FILTERREGION origPos, [In] ref Guid riid) { throw new NotImplementedException(SR.Get(SRID.FilterBindRegionNotImplemented)); } #endregion IFilter methods #region Fields ////// Only filtering that is supported on EncryptedPackageEnvelope /// is of core properties. This points to EncryptedPackageCorePropertiesFilter /// wrapped by FilterMarshaler. /// private IFilter _filter = null; #endregion Fields } #endregion EncryptedPackageFilter } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: // Implements indexing filter for EncryptedPackageEnvelope. // Invoked by XpsFilter if the file/stream being filtered // is an EncryptedPackageEnvelope. // // History: // 07/18/2005: ArindamB: Initial implementation //--------------------------------------------------------------------------- using System; using System.Windows; using System.Runtime.InteropServices; using System.IO.Packaging; using MS.Internal.Interop; namespace MS.Internal.IO.Packaging { #region EncryptedPackageFilter ////// Implements IFilter methods to support indexing on EncryptedPackageEnvelope. /// internal class EncryptedPackageFilter : IFilter { #region Constructor ////// Constructor. /// /// EncryptedPackageEnvelope to filter on internal EncryptedPackageFilter(EncryptedPackageEnvelope encryptedPackage) { if (encryptedPackage == null) { throw new ArgumentNullException("encryptedPackage"); } // // Since CorePropertiesFilter is implemented as // a managed filter (supports IManagedFilter interface), // IndexingFilterMarshaler is used to get IFilter interface out of it. // _filter = new IndexingFilterMarshaler( new CorePropertiesFilter( encryptedPackage.PackageProperties )); } #endregion Constructor #region IFilter methods ////// Initialzes the session for this filter. /// /// usage flags /// number of elements in aAttributes array /// array of FULLPROPSPEC structs to restrict responses ///IFILTER_FLAGS_NONE. Return value is effectively ignored by the caller. public IFILTER_FLAGS Init( [In] IFILTER_INIT grfFlags, [In] uint cAttributes, [In, MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 1)] FULLPROPSPEC[] aAttributes) { return _filter.Init(grfFlags, cAttributes, aAttributes); } ////// Returns description of the next chunk. /// ///Chunk descriptor public STAT_CHUNK GetChunk() { return _filter.GetChunk(); } ////// Gets text content corresponding to current chunk. /// /// /// ///Not supported in indexing of core properties. public void GetText(ref uint bufCharacterCount, IntPtr pBuffer) { throw new COMException(SR.Get(SRID.FilterGetTextNotSupported), (int)FilterErrorCode.FILTER_E_NO_TEXT); } ////// Gets the property value corresponding to current chunk. /// ///property value public IntPtr GetValue() { return _filter.GetValue(); } ////// Retrieves an interface representing the specified portion of the object. /// /// /// ///Not implemented. Reserved for future use. public IntPtr BindRegion([In] FILTERREGION origPos, [In] ref Guid riid) { throw new NotImplementedException(SR.Get(SRID.FilterBindRegionNotImplemented)); } #endregion IFilter methods #region Fields ////// Only filtering that is supported on EncryptedPackageEnvelope /// is of core properties. This points to EncryptedPackageCorePropertiesFilter /// wrapped by FilterMarshaler. /// private IFilter _filter = null; #endregion Fields } #endregion EncryptedPackageFilter } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ManipulationDeltaEventArgs.cs
- DataAccessor.cs
- IISMapPath.cs
- TableAdapterManagerHelper.cs
- LocalIdKeyIdentifierClause.cs
- ArraySortHelper.cs
- PaperSize.cs
- MexHttpsBindingCollectionElement.cs
- HitTestWithPointDrawingContextWalker.cs
- ConstraintCollection.cs
- GenericWebPart.cs
- ReturnEventArgs.cs
- AppSettingsReader.cs
- ContainerFilterService.cs
- ServiceDefaults.cs
- BitmapEffectDrawingContextWalker.cs
- SyndicationDeserializer.cs
- StructuredTypeEmitter.cs
- ConfigXmlComment.cs
- TraceContextEventArgs.cs
- HtmlTableRowCollection.cs
- BaseTemplateCodeDomTreeGenerator.cs
- TabletDeviceInfo.cs
- SiteMapNode.cs
- InputLanguageSource.cs
- Calendar.cs
- TextProperties.cs
- ParameterInfo.cs
- EventLogTraceListener.cs
- PolyLineSegment.cs
- WindowsIPAddress.cs
- CalendarDesigner.cs
- Pair.cs
- Directory.cs
- InvalidProgramException.cs
- TableLayoutSettings.cs
- ConfigXmlWhitespace.cs
- TraceLevelStore.cs
- CodeDelegateCreateExpression.cs
- SystemIcons.cs
- MouseActionConverter.cs
- Imaging.cs
- FileDialog.cs
- InkCanvasSelectionAdorner.cs
- SamlConditions.cs
- DesignerSerializationOptionsAttribute.cs
- SoapSchemaMember.cs
- StrongNameMembershipCondition.cs
- MapPathBasedVirtualPathProvider.cs
- ServiceThrottlingBehavior.cs
- HttpCookiesSection.cs
- EqualityComparer.cs
- SpAudioStreamWrapper.cs
- ErrorEventArgs.cs
- PropertyMetadata.cs
- MsmqIntegrationOutputChannel.cs
- NTAccount.cs
- PathGeometry.cs
- Executor.cs
- ByteConverter.cs
- SqlXmlStorage.cs
- X509ClientCertificateAuthenticationElement.cs
- _SslSessionsCache.cs
- StatusBar.cs
- AddInAttribute.cs
- OleDbStruct.cs
- NamespaceEmitter.cs
- UserValidatedEventArgs.cs
- Column.cs
- CheckBoxPopupAdapter.cs
- BinaryParser.cs
- ReflectionTypeLoadException.cs
- DataColumnPropertyDescriptor.cs
- OpacityConverter.cs
- log.cs
- CustomAttributeSerializer.cs
- InkSerializer.cs
- Accessible.cs
- HttpModuleActionCollection.cs
- ManagedFilter.cs
- NamespaceMapping.cs
- XmlTextReaderImplHelpers.cs
- KeyGestureValueSerializer.cs
- C14NUtil.cs
- LinkTarget.cs
- FileDataSourceCache.cs
- RealizationContext.cs
- ReadOnlyObservableCollection.cs
- EntityDescriptor.cs
- TextEndOfLine.cs
- DocobjHost.cs
- PrePrepareMethodAttribute.cs
- DisposableCollectionWrapper.cs
- ToolStripItemClickedEventArgs.cs
- Light.cs
- PrimitiveType.cs
- ServiceHostingEnvironment.cs
- ButtonBaseAdapter.cs
- ClosableStream.cs
- OleStrCAMarshaler.cs