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
- CodeCommentStatementCollection.cs
- SubMenuStyle.cs
- BehaviorEditorPart.cs
- MembershipSection.cs
- MSAANativeProvider.cs
- UserControlCodeDomTreeGenerator.cs
- DocumentReferenceCollection.cs
- ParsedAttributeCollection.cs
- Section.cs
- DynamicQueryStringParameter.cs
- CSharpCodeProvider.cs
- CurrencyManager.cs
- DataServiceExpressionVisitor.cs
- CheckedListBox.cs
- PluralizationService.cs
- XmlSchemaSimpleType.cs
- XmlBaseWriter.cs
- SafeCertificateContext.cs
- MetadataUtilsSmi.cs
- AppSettingsSection.cs
- XmlWhitespace.cs
- ZeroOpNode.cs
- PeerCustomResolverSettings.cs
- RenderData.cs
- Positioning.cs
- MessageEnumerator.cs
- BindableAttribute.cs
- ProjectionNode.cs
- BaseAppDomainProtocolHandler.cs
- LocatorPartList.cs
- Attributes.cs
- AspNetSynchronizationContext.cs
- WebPartTransformer.cs
- InstanceStoreQueryResult.cs
- WebPartEventArgs.cs
- GeometryDrawing.cs
- ToolStripScrollButton.cs
- ImageButton.cs
- WSFederationHttpSecurityElement.cs
- ProxySimple.cs
- WriteableBitmap.cs
- AssemblyContextControlItem.cs
- VirtualPathProvider.cs
- RecognizedWordUnit.cs
- UiaCoreApi.cs
- ReflectionUtil.cs
- WebConfigurationFileMap.cs
- StreamUpdate.cs
- ScrollItemProviderWrapper.cs
- DataSvcMapFile.cs
- SortKey.cs
- GAC.cs
- CharConverter.cs
- UnsafePeerToPeerMethods.cs
- GACMembershipCondition.cs
- OpenTypeLayoutCache.cs
- DataGridViewTopLeftHeaderCell.cs
- ModelUIElement3D.cs
- FindCriteriaElement.cs
- odbcmetadatacolumnnames.cs
- AuthenticationModulesSection.cs
- DynamicActivityProperty.cs
- ColorConverter.cs
- CmsInterop.cs
- SoapSchemaExporter.cs
- PixelFormatConverter.cs
- DataBindingValueUIHandler.cs
- XmlDocumentFieldSchema.cs
- DataGridCell.cs
- XmlSchemaElement.cs
- ToolStripDropDownClosedEventArgs.cs
- PeerApplicationLaunchInfo.cs
- BindingElement.cs
- XamlHostingSection.cs
- DataObjectCopyingEventArgs.cs
- AmbientValueAttribute.cs
- ExpandoObject.cs
- coordinator.cs
- AdditionalEntityFunctions.cs
- PeerName.cs
- PublisherMembershipCondition.cs
- WebPartEditorApplyVerb.cs
- MethodBody.cs
- BitmapEffect.cs
- WebServiceFault.cs
- base64Transforms.cs
- StateChangeEvent.cs
- PersonalizationDictionary.cs
- UserPersonalizationStateInfo.cs
- TimeSpanSecondsConverter.cs
- IApplicationTrustManager.cs
- PointConverter.cs
- DataGridViewMethods.cs
- EncodingDataItem.cs
- BaseParser.cs
- DropTarget.cs
- RuntimeIdentifierPropertyAttribute.cs
- PropertyDescriptorCollection.cs
- PrintPageEvent.cs
- Timeline.cs