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
- AttributeEmitter.cs
- LinkedResource.cs
- DataGridViewUtilities.cs
- DataTableClearEvent.cs
- ContactManager.cs
- SoapClientProtocol.cs
- ListControlStringCollectionEditor.cs
- StrokeNodeEnumerator.cs
- TypedTableHandler.cs
- FloaterBaseParagraph.cs
- SqlReorderer.cs
- PropertyToken.cs
- AssemblyGen.cs
- XmlAttributeCollection.cs
- ProfileManager.cs
- ClientOptions.cs
- AffineTransform3D.cs
- StringWriter.cs
- TypeLoadException.cs
- ExpressionBuilderCollection.cs
- Rights.cs
- Bezier.cs
- WebPartMenuStyle.cs
- CodeTryCatchFinallyStatement.cs
- ComplexPropertyEntry.cs
- ScriptControl.cs
- CanonicalizationDriver.cs
- StateMachineSubscriptionManager.cs
- DataGridClipboardCellContent.cs
- SemanticBasicElement.cs
- FormsAuthenticationUserCollection.cs
- PageThemeBuildProvider.cs
- QuadraticEase.cs
- TextSyndicationContent.cs
- UInt16.cs
- DependentList.cs
- TextContainerChangeEventArgs.cs
- RepeaterItemCollection.cs
- DataBindingHandlerAttribute.cs
- QueryAccessibilityHelpEvent.cs
- DesignSurfaceCollection.cs
- HtmlHistory.cs
- DataObjectAttribute.cs
- ProcessModelSection.cs
- PlainXmlWriter.cs
- AnnotationAuthorChangedEventArgs.cs
- PropertyEmitter.cs
- NonBatchDirectoryCompiler.cs
- XsltSettings.cs
- ParameterElement.cs
- securestring.cs
- PtsContext.cs
- ToolStripSettings.cs
- FolderLevelBuildProviderCollection.cs
- sqlnorm.cs
- GeneralTransform3DGroup.cs
- DbSetClause.cs
- AccessViolationException.cs
- log.cs
- UpDownBase.cs
- HashSetEqualityComparer.cs
- ToolBar.cs
- FocusChangedEventArgs.cs
- TimeoutValidationAttribute.cs
- GradientBrush.cs
- Delegate.cs
- PnrpPermission.cs
- RegexStringValidator.cs
- BitSet.cs
- MetadataSerializer.cs
- DictionaryKeyPropertyAttribute.cs
- ContainerUIElement3D.cs
- JsonSerializer.cs
- CurrentChangingEventManager.cs
- SourceLocationProvider.cs
- PlainXmlWriter.cs
- CellTreeNodeVisitors.cs
- DataServiceKeyAttribute.cs
- FaultBookmark.cs
- DecoratedNameAttribute.cs
- RelationshipManager.cs
- ICollection.cs
- ViewKeyConstraint.cs
- CompilationSection.cs
- ToolTipService.cs
- ExceptionWrapper.cs
- RPIdentityRequirement.cs
- ReceiveSecurityHeader.cs
- TypeInformation.cs
- ExpressionNode.cs
- BaseTemplatedMobileComponentEditor.cs
- dtdvalidator.cs
- SqlProvider.cs
- IdentifierCreationService.cs
- DrawItemEvent.cs
- SmtpReplyReaderFactory.cs
- NonBatchDirectoryCompiler.cs
- DataComponentNameHandler.cs
- ImageList.cs
- MSAAWinEventWrap.cs