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
- PlainXmlDeserializer.cs
- AttributeUsageAttribute.cs
- TextOptions.cs
- SByteStorage.cs
- HyperLinkColumn.cs
- OutputCacheModule.cs
- SmiConnection.cs
- X500Name.cs
- NullableDoubleAverageAggregationOperator.cs
- OdbcEnvironmentHandle.cs
- TdsParser.cs
- XPathArrayIterator.cs
- XmlSerializationReader.cs
- RecordManager.cs
- StreamSecurityUpgradeInitiator.cs
- InvalidBodyAccessException.cs
- UndoManager.cs
- ScriptManagerProxy.cs
- LessThan.cs
- UInt32Converter.cs
- DataGridViewCellEventArgs.cs
- ComponentEvent.cs
- Volatile.cs
- DesignTimeTemplateParser.cs
- MethodExpr.cs
- WinCategoryAttribute.cs
- MatrixAnimationBase.cs
- Byte.cs
- HttpWebRequest.cs
- HelloOperationAsyncResult.cs
- PolygonHotSpot.cs
- WindowsPrincipal.cs
- ItemDragEvent.cs
- WebSysDefaultValueAttribute.cs
- CodeCatchClauseCollection.cs
- TextElementAutomationPeer.cs
- PointLightBase.cs
- _AuthenticationState.cs
- WindowsListViewGroup.cs
- ContactManager.cs
- TypeLoadException.cs
- jithelpers.cs
- PackWebRequest.cs
- SamlDoNotCacheCondition.cs
- MatrixAnimationUsingPath.cs
- BitmapSourceSafeMILHandle.cs
- IsolatedStorageFileStream.cs
- SourceItem.cs
- TextRangeEditTables.cs
- SiteMap.cs
- RadioButtonDesigner.cs
- Point.cs
- DecoderBestFitFallback.cs
- _NetworkingPerfCounters.cs
- CompositeScriptReferenceEventArgs.cs
- CryptoStream.cs
- ColorDialog.cs
- SafeNativeMethodsOther.cs
- EditCommandColumn.cs
- SafeRightsManagementSessionHandle.cs
- CurrentChangingEventManager.cs
- EventLogPermissionAttribute.cs
- DataPagerFieldItem.cs
- AutoGeneratedFieldProperties.cs
- FamilyTypefaceCollection.cs
- GenericsInstances.cs
- ImportOptions.cs
- Span.cs
- XmlSortKeyAccumulator.cs
- CallbackHandler.cs
- SymDocumentType.cs
- CounterSample.cs
- System.Data.OracleClient_BID.cs
- NativeCppClassAttribute.cs
- SelfIssuedAuthProofToken.cs
- SelectedCellsCollection.cs
- listviewsubitemcollectioneditor.cs
- FormsAuthenticationUser.cs
- SponsorHelper.cs
- AnnotationMap.cs
- XMLSchema.cs
- GregorianCalendarHelper.cs
- ScrollItemPatternIdentifiers.cs
- GeometryConverter.cs
- TCPListener.cs
- Bits.cs
- ObjectSet.cs
- TextEditorParagraphs.cs
- XmlHierarchyData.cs
- WindowsButton.cs
- StorageRoot.cs
- Point.cs
- DataGridViewRowCollection.cs
- SocketElement.cs
- OrderablePartitioner.cs
- DatatypeImplementation.cs
- PtsPage.cs
- SqlDataSourceAdvancedOptionsForm.cs
- IsolatedStorageFileStream.cs
- SyndicationDeserializer.cs