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
- TextTreeFixupNode.cs
- EventListenerClientSide.cs
- MatrixStack.cs
- DataGridViewCellEventArgs.cs
- DesignerWidgets.cs
- RawKeyboardInputReport.cs
- HandlerFactoryWrapper.cs
- HTMLTextWriter.cs
- EventMappingSettingsCollection.cs
- WebServicesInteroperability.cs
- DependencyProperty.cs
- Math.cs
- TableCell.cs
- XmlText.cs
- DecoratedNameAttribute.cs
- CultureInfo.cs
- DataServiceQuery.cs
- ExpressionConverter.cs
- DeploymentSection.cs
- SmtpFailedRecipientException.cs
- LiteralLink.cs
- WebPartHelpVerb.cs
- DrawingGroupDrawingContext.cs
- PersonalizationStateQuery.cs
- AppDomainAttributes.cs
- CrossContextChannel.cs
- MetaType.cs
- HMAC.cs
- IdentityManager.cs
- basecomparevalidator.cs
- Util.cs
- SecurityChannel.cs
- ObjectViewFactory.cs
- KeyGestureValueSerializer.cs
- ObjectCloneHelper.cs
- SafeWaitHandle.cs
- GlyphTypeface.cs
- storepermission.cs
- ImageCodecInfoPrivate.cs
- RNGCryptoServiceProvider.cs
- TableLayoutStyleCollection.cs
- InternalResources.cs
- InfoCardMetadataExchangeClient.cs
- XsdDuration.cs
- XmlText.cs
- WorkflowDesignerColors.cs
- odbcmetadatafactory.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- Track.cs
- PrivilegeNotHeldException.cs
- WebPartConnectionsCancelVerb.cs
- XmlDataSourceNodeDescriptor.cs
- EntityStoreSchemaFilterEntry.cs
- xdrvalidator.cs
- Update.cs
- WebPartConnectionsDisconnectVerb.cs
- baseshape.cs
- MatrixTransform3D.cs
- BamlLocalizableResourceKey.cs
- Rotation3DAnimationBase.cs
- Error.cs
- DataGridCellsPanel.cs
- XmlTypeAttribute.cs
- SettingsPropertyIsReadOnlyException.cs
- DataServiceHostWrapper.cs
- OutgoingWebRequestContext.cs
- FontSource.cs
- DataGridTextBox.cs
- HostedTransportConfigurationBase.cs
- XPathDocumentBuilder.cs
- PropertyCondition.cs
- Axis.cs
- DesignTimeParseData.cs
- ResourcesChangeInfo.cs
- Block.cs
- EventlogProvider.cs
- SupportsEventValidationAttribute.cs
- GuidTagList.cs
- HtmlTableRow.cs
- JumpItem.cs
- ItemChangedEventArgs.cs
- WindowsAuthenticationEventArgs.cs
- DecoderFallback.cs
- CompilerInfo.cs
- CommandPlan.cs
- TextTreeExtractElementUndoUnit.cs
- Translator.cs
- ListCommandEventArgs.cs
- PeerInvitationResponse.cs
- CodeNamespaceImportCollection.cs
- Selector.cs
- FixedBufferAttribute.cs
- CollectionsUtil.cs
- WmlValidationSummaryAdapter.cs
- SoapAttributeOverrides.cs
- GridEntryCollection.cs
- TextServicesProperty.cs
- EntityConnectionStringBuilderItem.cs
- GACIdentityPermission.cs
- Invariant.cs