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
- MetaType.cs
- SID.cs
- BasicAsyncResult.cs
- _NegoState.cs
- BinaryHeap.cs
- TransformerInfoCollection.cs
- ListSortDescription.cs
- TransformerTypeCollection.cs
- MimeObjectFactory.cs
- UIntPtr.cs
- AuditLog.cs
- LockedBorderGlyph.cs
- CodeArrayCreateExpression.cs
- Utility.cs
- SqlNodeAnnotation.cs
- DataGridViewHitTestInfo.cs
- TextSelectionHelper.cs
- GlobalProxySelection.cs
- FixUpCollection.cs
- TextEffectCollection.cs
- EmptyCollection.cs
- Button.cs
- RuleInfoComparer.cs
- RegexGroup.cs
- UserPreferenceChangedEventArgs.cs
- ValueOfAction.cs
- AutomationPatternInfo.cs
- MetaTableHelper.cs
- SamlAssertion.cs
- ProfileGroupSettings.cs
- TraceSource.cs
- StringFunctions.cs
- NativeMethods.cs
- Stream.cs
- GeometryDrawing.cs
- TableCell.cs
- contentDescriptor.cs
- ZipIOCentralDirectoryBlock.cs
- UriSection.cs
- ChtmlTextWriter.cs
- CatalogZoneBase.cs
- XmlSchemaDocumentation.cs
- ProxyAttribute.cs
- SerializationAttributes.cs
- WorkflowNamespace.cs
- FrameworkContentElementAutomationPeer.cs
- SynchronizedDisposablePool.cs
- SafeNativeMethods.cs
- DataTableNameHandler.cs
- PaperSource.cs
- PersianCalendar.cs
- InfoCardKeyedHashAlgorithm.cs
- DataServiceOperationContext.cs
- XmlSchemaCollection.cs
- XamlBrushSerializer.cs
- SettingsProviderCollection.cs
- ReadOnlyDictionary.cs
- TraceListener.cs
- CompilerParameters.cs
- HostedTcpTransportManager.cs
- ReflectionTypeLoadException.cs
- DuplicateWaitObjectException.cs
- InputScope.cs
- BaseTemplateCodeDomTreeGenerator.cs
- GridViewColumn.cs
- MULTI_QI.cs
- BeginGetFileNameFromUserRequest.cs
- HostedTcpTransportManager.cs
- DataControlPagerLinkButton.cs
- CompiledRegexRunner.cs
- DES.cs
- InputScopeManager.cs
- SecurityElement.cs
- ColorConverter.cs
- TextParagraphCache.cs
- ContentOperations.cs
- BuildProvider.cs
- SmiMetaData.cs
- PackageDigitalSignature.cs
- NamespaceEmitter.cs
- DateTimeStorage.cs
- DataTable.cs
- ColorConvertedBitmap.cs
- AssociationSet.cs
- Int32Rect.cs
- CodeDirectionExpression.cs
- CultureTable.cs
- PolyBezierSegment.cs
- LambdaCompiler.Unary.cs
- WorkItem.cs
- DataTrigger.cs
- _HeaderInfo.cs
- SignatureDescription.cs
- DataServiceKeyAttribute.cs
- CqlWriter.cs
- PermissionRequestEvidence.cs
- SqlDataSourceConfigureSelectPanel.cs
- XPathParser.cs
- Helpers.cs
- LicenseContext.cs