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
- SHA384Managed.cs
- SimpleType.cs
- ILGenerator.cs
- InternalControlCollection.cs
- OletxDependentTransaction.cs
- MaterializeFromAtom.cs
- FunctionParameter.cs
- NumericUpDown.cs
- PointUtil.cs
- IPGlobalProperties.cs
- LinkArea.cs
- MethodExpr.cs
- SubMenuStyleCollection.cs
- XmlSerializerFormatAttribute.cs
- RtfToken.cs
- CultureNotFoundException.cs
- CodeExpressionStatement.cs
- HttpCachePolicy.cs
- ImageSourceConverter.cs
- Mappings.cs
- DomainUpDown.cs
- CompilerErrorCollection.cs
- LightweightCodeGenerator.cs
- cookiecontainer.cs
- XmlDocumentFragment.cs
- TextSelectionProcessor.cs
- VisualBrush.cs
- EncoderExceptionFallback.cs
- TaiwanCalendar.cs
- WindowsContainer.cs
- OpenFileDialog.cs
- SystemIPGlobalStatistics.cs
- WmlTextBoxAdapter.cs
- Win32.cs
- WinInetCache.cs
- ExpressionVisitor.cs
- SAPICategories.cs
- ContentElement.cs
- StaticDataManager.cs
- FlowLayoutPanel.cs
- ServiceParser.cs
- ExpressionEditorAttribute.cs
- CommonRemoteMemoryBlock.cs
- TypeBinaryExpression.cs
- XmlElementAttribute.cs
- mediaeventargs.cs
- GeometryGroup.cs
- LambdaCompiler.Generated.cs
- UIntPtr.cs
- ControlPropertyNameConverter.cs
- RuleSet.cs
- WebPartVerbsEventArgs.cs
- PageCache.cs
- RSAPKCS1SignatureFormatter.cs
- __FastResourceComparer.cs
- SQLResource.cs
- JsonWriterDelegator.cs
- BindingContext.cs
- ScrollBarAutomationPeer.cs
- JsonReader.cs
- XmlNode.cs
- Enum.cs
- ToolStripDropDownMenu.cs
- unitconverter.cs
- keycontainerpermission.cs
- XmlWrappingWriter.cs
- Expression.cs
- Directory.cs
- PreviewPageInfo.cs
- PictureBoxDesigner.cs
- BaseTemplateBuildProvider.cs
- ListViewItem.cs
- MetadataCache.cs
- RawStylusInput.cs
- UnsafeNativeMethods.cs
- HttpClientCertificate.cs
- Assembly.cs
- DataGridCaption.cs
- ZipIOExtraFieldElement.cs
- Switch.cs
- ExceptionTranslationTable.cs
- OutputCacheSection.cs
- IChannel.cs
- ScopedMessagePartSpecification.cs
- CatalogPart.cs
- ServicesUtilities.cs
- ToolBar.cs
- CurrentChangedEventManager.cs
- Logging.cs
- CollectionViewGroupInternal.cs
- DigitalSignature.cs
- JumpPath.cs
- WebControlsSection.cs
- StorageEntitySetMapping.cs
- WebConfigurationHostFileChange.cs
- Point3DKeyFrameCollection.cs
- XmlSchemaRedefine.cs
- Sql8ExpressionRewriter.cs
- Dump.cs
- InitializerFacet.cs