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
- VirtualPathProvider.cs
- LabelDesigner.cs
- WindowsClaimSet.cs
- WebControl.cs
- XamlTreeBuilder.cs
- TextDecorationLocationValidation.cs
- PromptBuilder.cs
- MatrixAnimationBase.cs
- XpsS0ValidatingLoader.cs
- ExpressionPrinter.cs
- Point4D.cs
- CaretElement.cs
- SubMenuStyleCollectionEditor.cs
- RootContext.cs
- NameSpaceExtractor.cs
- TextRangeBase.cs
- SmtpSection.cs
- SettingsPropertyWrongTypeException.cs
- ViewStateException.cs
- TypeDescriptor.cs
- SessionStateUtil.cs
- mediaclock.cs
- WaitHandleCannotBeOpenedException.cs
- DetailsViewInsertEventArgs.cs
- RealProxy.cs
- RawAppCommandInputReport.cs
- EntryPointNotFoundException.cs
- DataError.cs
- RayMeshGeometry3DHitTestResult.cs
- WindowsFormsHostAutomationPeer.cs
- ZipFileInfo.cs
- PerformanceCounter.cs
- XmlSchemaValidationException.cs
- CategoriesDocument.cs
- BoundField.cs
- SelectionRange.cs
- RequestCachePolicyConverter.cs
- ColorMap.cs
- MemberInfoSerializationHolder.cs
- tooltip.cs
- ObjectContext.cs
- Hyperlink.cs
- TrackBar.cs
- DataGridItemEventArgs.cs
- MemberCollection.cs
- InitializeCorrelation.cs
- ValidatorCollection.cs
- Localizer.cs
- SqlUtil.cs
- TrackingServices.cs
- ConnectionConsumerAttribute.cs
- InstanceContextMode.cs
- TransactionState.cs
- AggregateNode.cs
- URIFormatException.cs
- CapabilitiesState.cs
- MachineKeyConverter.cs
- ContentType.cs
- ProxySimple.cs
- SqlDataAdapter.cs
- DataRowView.cs
- Collection.cs
- HtmlHead.cs
- SqlDataSourceCache.cs
- QilDataSource.cs
- TrustSection.cs
- BaseHashHelper.cs
- FormViewAutoFormat.cs
- SapiInterop.cs
- ResetableIterator.cs
- RectAnimationUsingKeyFrames.cs
- ClassDataContract.cs
- ExceptionValidationRule.cs
- DbConnectionPoolOptions.cs
- CodeFieldReferenceExpression.cs
- SHA1CryptoServiceProvider.cs
- XmlEnumAttribute.cs
- State.cs
- PageAdapter.cs
- SpotLight.cs
- CngProperty.cs
- SharedStatics.cs
- ListBoxItem.cs
- ElapsedEventArgs.cs
- Object.cs
- DataControlImageButton.cs
- HyperLink.cs
- RightsManagementEncryptionTransform.cs
- StringDictionary.cs
- IgnoreFileBuildProvider.cs
- SiteMembershipCondition.cs
- ApplicationTrust.cs
- SiblingIterators.cs
- TableDetailsRow.cs
- Logging.cs
- SafeFileMapViewHandle.cs
- ProxyFragment.cs
- BrowserTree.cs
- StackOverflowException.cs
- DataExpression.cs