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
- TransformerInfoCollection.cs
- Int32Collection.cs
- AppSettingsReader.cs
- LogicalExpr.cs
- TextContainerChangeEventArgs.cs
- LayoutTableCell.cs
- SpoolingTask.cs
- TypeInitializationException.cs
- DBConnection.cs
- WebPartConnectionCollection.cs
- ScalarType.cs
- Scalars.cs
- HtmlToClrEventProxy.cs
- DataGridSortingEventArgs.cs
- PrintPreviewGraphics.cs
- TempEnvironment.cs
- FrameworkTextComposition.cs
- MaskedTextBoxDesigner.cs
- GeneralTransform3DGroup.cs
- DataGridRelationshipRow.cs
- LineInfo.cs
- CodeStatementCollection.cs
- IUnknownConstantAttribute.cs
- ComPlusInstanceContextInitializer.cs
- EntitySqlQueryCacheEntry.cs
- DigitShape.cs
- EmbossBitmapEffect.cs
- RuntimeIdentifierPropertyAttribute.cs
- XmlSchemaCollection.cs
- FormatterConverter.cs
- SwitchLevelAttribute.cs
- ListViewInsertionMark.cs
- BinaryParser.cs
- CodeDomConfigurationHandler.cs
- EventLogPermissionHolder.cs
- ReceiveMessageRecord.cs
- SystemResourceKey.cs
- FileCodeGroup.cs
- ToolTipAutomationPeer.cs
- SecurityPermission.cs
- ToolTip.cs
- DecimalAnimationUsingKeyFrames.cs
- PreviewPrintController.cs
- SqlErrorCollection.cs
- WebPartDisplayMode.cs
- GeometryCombineModeValidation.cs
- BidPrivateBase.cs
- ListViewUpdateEventArgs.cs
- DataProtection.cs
- TaskFactory.cs
- DataGridViewIntLinkedList.cs
- MaterializeFromAtom.cs
- DispatcherHookEventArgs.cs
- TraceSection.cs
- LinearKeyFrames.cs
- SspiWrapper.cs
- DataGridViewTextBoxColumn.cs
- Delegate.cs
- PenThreadPool.cs
- MessageBodyMemberAttribute.cs
- Input.cs
- LinkUtilities.cs
- DataGridPagerStyle.cs
- DuplexChannel.cs
- GridItemProviderWrapper.cs
- DescendentsWalkerBase.cs
- EntityCommandCompilationException.cs
- TextCharacters.cs
- Link.cs
- Button.cs
- WebPartCatalogCloseVerb.cs
- PrintPageEvent.cs
- SystemNetHelpers.cs
- InheritanceUI.cs
- DetailsViewDeleteEventArgs.cs
- ObjectDataSourceMethodEventArgs.cs
- CollectionView.cs
- Events.cs
- SelectionWordBreaker.cs
- ListViewInsertEventArgs.cs
- OleDbConnectionFactory.cs
- EventLogConfiguration.cs
- CodePrimitiveExpression.cs
- AddInStore.cs
- IPHostEntry.cs
- ListViewUpdateEventArgs.cs
- ActiveDocumentEvent.cs
- Listbox.cs
- FieldNameLookup.cs
- Pool.cs
- wmiprovider.cs
- DataGridViewCellCancelEventArgs.cs
- VoiceObjectToken.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- XmlLoader.cs
- BamlResourceSerializer.cs
- DefaultTextStoreTextComposition.cs
- AppDomainUnloadedException.cs
- SID.cs
- RoutedEventArgs.cs