Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / IO / Packaging / EncryptedPackageFilter.cs / 1305600 / 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
- HttpHandlersSection.cs
- SqlCaseSimplifier.cs
- PersistenceProvider.cs
- TextControlDesigner.cs
- AutomationPeer.cs
- Char.cs
- ToolStripManager.cs
- DiscoveryServerProtocol.cs
- DataGridCellInfo.cs
- XsltQilFactory.cs
- Adorner.cs
- ServicesSection.cs
- DriveInfo.cs
- ResourceBinder.cs
- DataServiceQuery.cs
- SqlStream.cs
- ConfigXmlWhitespace.cs
- Symbol.cs
- AutoScrollExpandMessageFilter.cs
- ErrorTableItemStyle.cs
- DoubleAnimation.cs
- WebControlsSection.cs
- FamilyMapCollection.cs
- SecurityException.cs
- PartitionResolver.cs
- FormViewInsertedEventArgs.cs
- TraceHandler.cs
- MemberAssignment.cs
- DescendantOverDescendantQuery.cs
- QilXmlReader.cs
- WebScriptMetadataFormatter.cs
- SafeArrayRankMismatchException.cs
- XPathNavigatorReader.cs
- ObjectQuery.cs
- VideoDrawing.cs
- EditorZone.cs
- ValidationSummary.cs
- ExpanderAutomationPeer.cs
- RemoveStoryboard.cs
- VisualTarget.cs
- DocumentViewerHelper.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- BooleanAnimationUsingKeyFrames.cs
- RecommendedAsConfigurableAttribute.cs
- ServiceNameElement.cs
- PartitionResolver.cs
- FormViewPagerRow.cs
- Point.cs
- Number.cs
- HttpValueCollection.cs
- EventLogQuery.cs
- BamlBinaryReader.cs
- PerfCounterSection.cs
- UIElementParagraph.cs
- OrderedDictionary.cs
- DataGridViewSelectedColumnCollection.cs
- QilCloneVisitor.cs
- CharKeyFrameCollection.cs
- Semaphore.cs
- TextEditorSelection.cs
- XmlTextAttribute.cs
- Helpers.cs
- XslAstAnalyzer.cs
- Formatter.cs
- ReceiveCompletedEventArgs.cs
- MD5.cs
- DesignOnlyAttribute.cs
- SerializationAttributes.cs
- BufferedStream.cs
- InputProviderSite.cs
- CodeTypeMemberCollection.cs
- MessageAction.cs
- SmiGettersStream.cs
- TemplateColumn.cs
- BinHexDecoder.cs
- DataServiceRequestException.cs
- QueryActivatableWorkflowsCommand.cs
- DataColumnChangeEvent.cs
- CacheEntry.cs
- SqlDataSourceCache.cs
- ConsumerConnectionPoint.cs
- UpdatePanelTriggerCollection.cs
- HttpProtocolReflector.cs
- HuffModule.cs
- NativeRecognizer.cs
- AttributeQuery.cs
- CodeCompileUnit.cs
- ListViewUpdatedEventArgs.cs
- TypedColumnHandler.cs
- UnsafeNativeMethods.cs
- VisualStyleInformation.cs
- NamespaceTable.cs
- SignatureResourcePool.cs
- MatrixUtil.cs
- HScrollBar.cs
- MailAddressCollection.cs
- DependencyPropertyKey.cs
- ValidationPropertyAttribute.cs
- ApplicationContext.cs