Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- handlecollector.cs
- DriveNotFoundException.cs
- PtsContext.cs
- MetadataArtifactLoaderCompositeResource.cs
- GroupBox.cs
- VirtualStackFrame.cs
- mda.cs
- ComponentEditorForm.cs
- WebPartDisplayModeEventArgs.cs
- BamlCollectionHolder.cs
- AQNBuilder.cs
- DataTableTypeConverter.cs
- Line.cs
- ItemDragEvent.cs
- SafeSecurityHandles.cs
- SQLMembershipProvider.cs
- SafeNativeMethods.cs
- WebPartChrome.cs
- CompositeFontParser.cs
- EntityStoreSchemaGenerator.cs
- HttpApplicationFactory.cs
- WorkflowInstance.cs
- ProxyFragment.cs
- DataServiceContext.cs
- CustomPopupPlacement.cs
- FrameworkContentElementAutomationPeer.cs
- RadioButtonBaseAdapter.cs
- InvalidProgramException.cs
- EDesignUtil.cs
- HandlerBase.cs
- DriveInfo.cs
- ReaderWriterLockWrapper.cs
- IndexingContentUnit.cs
- Connector.cs
- XmlSchemaAnyAttribute.cs
- ObjectQueryExecutionPlan.cs
- SecureUICommand.cs
- WebPartEditVerb.cs
- SuppressIldasmAttribute.cs
- InputBinding.cs
- UInt16Storage.cs
- _FixedSizeReader.cs
- BooleanExpr.cs
- LongTypeConverter.cs
- PriorityQueue.cs
- PropertyInfoSet.cs
- TextRangeSerialization.cs
- Merger.cs
- SerialErrors.cs
- ColorConvertedBitmap.cs
- TdsEnums.cs
- UnescapedXmlDiagnosticData.cs
- ColorAnimationUsingKeyFrames.cs
- CalendarDateRangeChangingEventArgs.cs
- FixedDocument.cs
- PassportIdentity.cs
- ProtocolElementCollection.cs
- MenuScrollingVisibilityConverter.cs
- SqlBulkCopy.cs
- AnnotationService.cs
- DbMetaDataCollectionNames.cs
- MatchAttribute.cs
- RegexMatch.cs
- Typeface.cs
- MembershipPasswordException.cs
- TabItem.cs
- HtmlListAdapter.cs
- DataControlField.cs
- InstanceCreationEditor.cs
- EntityDataSourceChangingEventArgs.cs
- RenderContext.cs
- PersistNameAttribute.cs
- XmlStreamStore.cs
- InsufficientMemoryException.cs
- BamlLocalizableResourceKey.cs
- Converter.cs
- WpfKnownMemberInvoker.cs
- DrawingContextDrawingContextWalker.cs
- _FtpControlStream.cs
- Bold.cs
- StringInfo.cs
- VectorAnimationUsingKeyFrames.cs
- SqlUdtInfo.cs
- VisualStyleInformation.cs
- TextAutomationPeer.cs
- WebBrowser.cs
- ColorDialog.cs
- Soap11ServerProtocol.cs
- SerializerProvider.cs
- ObjectDataSourceView.cs
- VariableElement.cs
- DesignerLabelAdapter.cs
- SimpleHandlerBuildProvider.cs
- HashSetEqualityComparer.cs
- URLAttribute.cs
- RegexTypeEditor.cs
- XmlIterators.cs
- TemplateContent.cs
- RegexCharClass.cs
- StringPropertyBuilder.cs