Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / MS / Internal / IO / Packaging / EncryptedPackageFilter.cs / 1305600 / 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
- FixedSOMSemanticBox.cs
- DesignerSerializationManager.cs
- FormView.cs
- ExtensionSurface.cs
- UITypeEditor.cs
- KnownBoxes.cs
- PagePropertiesChangingEventArgs.cs
- PerformanceCounterCategory.cs
- ProxyDataContractResolver.cs
- DataGridTable.cs
- SQLResource.cs
- FramingChannels.cs
- FormViewModeEventArgs.cs
- ImageIndexConverter.cs
- OwnerDrawPropertyBag.cs
- BaseCAMarshaler.cs
- ValuePattern.cs
- ExpressionBuilderContext.cs
- SafeRightsManagementEnvironmentHandle.cs
- SMSvcHost.cs
- SecurityResources.cs
- EmbeddedObject.cs
- CategoryEditor.cs
- SchemaAttDef.cs
- TextContainerChangedEventArgs.cs
- BroadcastEventHelper.cs
- ExecutionPropertyManager.cs
- StringReader.cs
- MatrixUtil.cs
- RootProfilePropertySettingsCollection.cs
- PenContexts.cs
- TableRow.cs
- CodeMethodInvokeExpression.cs
- shaperfactoryquerycacheentry.cs
- StringExpressionSet.cs
- ApplicationGesture.cs
- Ipv6Element.cs
- BitStack.cs
- XmlBaseReader.cs
- _Rfc2616CacheValidators.cs
- StrokeCollection2.cs
- MasterPage.cs
- TaskFormBase.cs
- Point3DIndependentAnimationStorage.cs
- ConnectionManagementSection.cs
- CodeAccessSecurityEngine.cs
- LicenseException.cs
- ComplexPropertyEntry.cs
- CacheOutputQuery.cs
- UIAgentRequest.cs
- NameValueFileSectionHandler.cs
- PreviousTrackingServiceAttribute.cs
- ConnectionManagementElementCollection.cs
- InternalException.cs
- BaseCollection.cs
- ItemContainerGenerator.cs
- TemplateKeyConverter.cs
- HMACSHA256.cs
- DisplayMemberTemplateSelector.cs
- Emitter.cs
- SqlClientWrapperSmiStream.cs
- AuthenticodeSignatureInformation.cs
- ButtonColumn.cs
- ShaperBuffers.cs
- DataGridCellsPresenter.cs
- Point.cs
- SymmetricAlgorithm.cs
- DataGridViewUtilities.cs
- TreeViewDataItemAutomationPeer.cs
- SortedSet.cs
- FixedBufferAttribute.cs
- VectorAnimationUsingKeyFrames.cs
- ToolStripPanelRenderEventArgs.cs
- CodeExpressionCollection.cs
- XamlStream.cs
- TypeFieldSchema.cs
- CodeValidator.cs
- InternalControlCollection.cs
- _LocalDataStore.cs
- newinstructionaction.cs
- PolyBezierSegment.cs
- ObjectDisposedException.cs
- ParseElement.cs
- TextSearch.cs
- MatrixConverter.cs
- SoapFormatExtensions.cs
- Types.cs
- TagMapInfo.cs
- DataGridAddNewRow.cs
- ViewSimplifier.cs
- SecUtil.cs
- MetadataExporter.cs
- Privilege.cs
- XmlNodeChangedEventArgs.cs
- shaperfactoryquerycachekey.cs
- Pkcs9Attribute.cs
- SQLBinary.cs
- DocumentSchemaValidator.cs
- PropertyEmitter.cs
- FlowchartDesigner.Helpers.cs