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
- RawUIStateInputReport.cs
- NativeMethods.cs
- X509CertificateValidator.cs
- CollectionType.cs
- HttpHandlersSection.cs
- IPPacketInformation.cs
- InvokeBinder.cs
- PackUriHelper.cs
- FrameDimension.cs
- OLEDB_Enum.cs
- InputGestureCollection.cs
- SqlCacheDependencyDatabaseCollection.cs
- TraceLevelStore.cs
- TraceSection.cs
- cookie.cs
- ScrollData.cs
- ToolStripCollectionEditor.cs
- CodeGroup.cs
- DllNotFoundException.cs
- CommandManager.cs
- DATA_BLOB.cs
- PrintDialog.cs
- DateTimeOffset.cs
- MetadataConversionError.cs
- StructuralCache.cs
- NamespaceEmitter.cs
- bidPrivateBase.cs
- HtmlInputCheckBox.cs
- Style.cs
- PageCache.cs
- Application.cs
- Reference.cs
- SqlDataReaderSmi.cs
- SQLInt32Storage.cs
- MetadataItem.cs
- Effect.cs
- Operators.cs
- CLSCompliantAttribute.cs
- TrackingRecordPreFilter.cs
- ManualResetEvent.cs
- DropShadowBitmapEffect.cs
- XPathNodeInfoAtom.cs
- Connector.cs
- CodeObjectCreateExpression.cs
- EmbeddedMailObjectsCollection.cs
- ISO2022Encoding.cs
- COM2FontConverter.cs
- CapabilitiesState.cs
- QuaternionKeyFrameCollection.cs
- SynchronizedReadOnlyCollection.cs
- TimelineClockCollection.cs
- ValidatorCollection.cs
- BaseCodeDomTreeGenerator.cs
- RotationValidation.cs
- ResourceKey.cs
- Vector3DAnimationUsingKeyFrames.cs
- HttpRequestContext.cs
- NamedPipeTransportElement.cs
- SystemGatewayIPAddressInformation.cs
- IssuanceLicense.cs
- OracleInternalConnection.cs
- EvidenceBase.cs
- ResXResourceReader.cs
- IpcServerChannel.cs
- HijriCalendar.cs
- BaseComponentEditor.cs
- M3DUtil.cs
- TextInfo.cs
- DocumentEventArgs.cs
- EncryptedType.cs
- PropertyPushdownHelper.cs
- CodeArrayCreateExpression.cs
- SqlIdentifier.cs
- SiteMapNodeCollection.cs
- SplitterEvent.cs
- PermissionSetEnumerator.cs
- ValueQuery.cs
- FormsAuthentication.cs
- CellTreeNode.cs
- Encoding.cs
- CqlBlock.cs
- RefreshPropertiesAttribute.cs
- CacheHelper.cs
- CachedTypeface.cs
- PropertyIDSet.cs
- EpmContentSerializerBase.cs
- PageContentAsyncResult.cs
- SQlBooleanStorage.cs
- SplitterEvent.cs
- IndicCharClassifier.cs
- ZipIOLocalFileDataDescriptor.cs
- SudsCommon.cs
- StorageEndPropertyMapping.cs
- HtmlTable.cs
- TouchesOverProperty.cs
- WindowHideOrCloseTracker.cs
- RealProxy.cs
- ParserExtension.cs
- PageAsyncTaskManager.cs
- ModifierKeysConverter.cs