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
- ThreadPool.cs
- DatePickerAutomationPeer.cs
- HttpGetProtocolReflector.cs
- TrackingStringDictionary.cs
- MenuAutoFormat.cs
- TabletCollection.cs
- SmiEventSink.cs
- ClientFormsIdentity.cs
- SqlConnectionString.cs
- WebSysDefaultValueAttribute.cs
- Int64.cs
- GridViewRow.cs
- ExpandableObjectConverter.cs
- TextBoxBase.cs
- PreviewPrintController.cs
- HwndSourceKeyboardInputSite.cs
- AttributedMetaModel.cs
- NativeObjectSecurity.cs
- ParentQuery.cs
- ByteFacetDescriptionElement.cs
- SplitterPanelDesigner.cs
- AnimationClockResource.cs
- RestHandlerFactory.cs
- ComponentEditorForm.cs
- Icon.cs
- Sentence.cs
- AdornedElementPlaceholder.cs
- LinqDataSourceValidationException.cs
- ServiceDescriptionSerializer.cs
- EndPoint.cs
- URI.cs
- BaseDataBoundControl.cs
- XmlQueryTypeFactory.cs
- CodeNamespaceImportCollection.cs
- ConfigXmlText.cs
- DockAndAnchorLayout.cs
- UnhandledExceptionEventArgs.cs
- XPathSingletonIterator.cs
- HierarchicalDataTemplate.cs
- ProfileGroupSettingsCollection.cs
- UITypeEditor.cs
- mda.cs
- ChannelSinkStacks.cs
- HyperLinkField.cs
- DebuggerAttributes.cs
- BaseProcessProtocolHandler.cs
- DataGridColumnHeaderItemAutomationPeer.cs
- IPEndPoint.cs
- Binding.cs
- WebPartHelpVerb.cs
- XamlBrushSerializer.cs
- CursorEditor.cs
- TextEditorSpelling.cs
- SystemBrushes.cs
- GlyphCache.cs
- MethodSignatureGenerator.cs
- KeyMatchBuilder.cs
- Rules.cs
- PageCatalogPart.cs
- PublisherIdentityPermission.cs
- BufferAllocator.cs
- EntityContainerAssociationSet.cs
- ViewUtilities.cs
- PresentationAppDomainManager.cs
- CodeChecksumPragma.cs
- AnchorEditor.cs
- ListViewTableCell.cs
- ItemList.cs
- ComNativeDescriptor.cs
- CompositionAdorner.cs
- xdrvalidator.cs
- DoubleLinkListEnumerator.cs
- ContextMarshalException.cs
- HtmlInputSubmit.cs
- IntegrationExceptionEventArgs.cs
- TextEditor.cs
- AvtEvent.cs
- WindowsHyperlink.cs
- ValidationService.cs
- MultipleFilterMatchesException.cs
- KeyTimeConverter.cs
- TemplateBindingExtensionConverter.cs
- Events.cs
- Win32SafeHandles.cs
- ControlBindingsCollection.cs
- OlePropertyStructs.cs
- LinqDataSourceContextEventArgs.cs
- ImageSourceConverter.cs
- UnconditionalPolicy.cs
- Point3D.cs
- IisTraceListener.cs
- UserNameSecurityToken.cs
- DecodeHelper.cs
- NamespaceQuery.cs
- KeyManager.cs
- SecurityDocument.cs
- TcpTransportElement.cs
- RelatedImageListAttribute.cs
- WorkflowDefinitionDispenser.cs
- SqlDataReader.cs