Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- TextAdaptor.cs
- List.cs
- FastEncoderWindow.cs
- PrintController.cs
- LinqExpressionNormalizer.cs
- DataError.cs
- TypedReference.cs
- WebPartCancelEventArgs.cs
- ColumnMapVisitor.cs
- HandlerFactoryCache.cs
- MimeMapping.cs
- Environment.cs
- EarlyBoundInfo.cs
- CalloutQueueItem.cs
- CompilerParameters.cs
- WpfWebRequestHelper.cs
- DataGridPagerStyle.cs
- LinqDataSourceValidationException.cs
- TextEffectCollection.cs
- DataObjectMethodAttribute.cs
- SiteMapSection.cs
- XmlReaderSettings.cs
- PolyQuadraticBezierSegment.cs
- HtmlForm.cs
- Math.cs
- ScalarOps.cs
- ProfileManager.cs
- SafeTimerHandle.cs
- ControlEvent.cs
- UnsafeCollabNativeMethods.cs
- CompareValidator.cs
- CompilerErrorCollection.cs
- Assert.cs
- UserControl.cs
- CodeMethodInvokeExpression.cs
- ZipPackagePart.cs
- AnnotationComponentManager.cs
- WebDescriptionAttribute.cs
- FileRegion.cs
- AssemblyCacheEntry.cs
- XsltSettings.cs
- sortedlist.cs
- RotateTransform.cs
- StatusBarItem.cs
- SendMailErrorEventArgs.cs
- EncryptedPackage.cs
- TraceContextEventArgs.cs
- DeflateEmulationStream.cs
- String.cs
- FontEditor.cs
- PriorityChain.cs
- FamilyMapCollection.cs
- TextRunCacheImp.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- DefaultSection.cs
- CodeTypeDeclarationCollection.cs
- Transform.cs
- ScriptingJsonSerializationSection.cs
- CompressStream.cs
- XmlUtf8RawTextWriter.cs
- WebPartUserCapability.cs
- sapiproxy.cs
- ModelTypeConverter.cs
- ProxyWebPartConnectionCollection.cs
- StorageComplexTypeMapping.cs
- PackageRelationshipCollection.cs
- SplitterPanelDesigner.cs
- PartitionResolver.cs
- ContainerAction.cs
- ToolStripPanelRow.cs
- HeaderLabel.cs
- IERequestCache.cs
- XmlAttributeProperties.cs
- BrowserTree.cs
- CompiledQueryCacheKey.cs
- XmlDataCollection.cs
- DES.cs
- BinHexDecoder.cs
- BrowserDefinition.cs
- AlphaSortedEnumConverter.cs
- HealthMonitoringSectionHelper.cs
- WindowsSlider.cs
- EngineSite.cs
- PieceNameHelper.cs
- DrawingContext.cs
- WebPartPersonalization.cs
- BitmapEffectGroup.cs
- SourceSwitch.cs
- MatrixCamera.cs
- SkewTransform.cs
- IssuanceLicense.cs
- ObjectDisposedException.cs
- Membership.cs
- DbConnectionStringCommon.cs
- HwndMouseInputProvider.cs
- GenericQueueSurrogate.cs
- XmlNodeChangedEventArgs.cs
- WebPartPersonalization.cs
- WrappedReader.cs
- CommonGetThemePartSize.cs