Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- TypeUsageBuilder.cs
- TextDecorationCollection.cs
- WebPartPersonalization.cs
- DynamicILGenerator.cs
- EventLogPermissionAttribute.cs
- PageAsyncTask.cs
- CryptoSession.cs
- ColumnResizeAdorner.cs
- ObjectCache.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- XmlSchemaSimpleContentRestriction.cs
- SqlDependencyListener.cs
- X509AsymmetricSecurityKey.cs
- ShortcutKeysEditor.cs
- GeometryHitTestParameters.cs
- OdbcConnectionPoolProviderInfo.cs
- BooleanProjectedSlot.cs
- PeekCompletedEventArgs.cs
- SQLCharsStorage.cs
- HtmlForm.cs
- SHA1Managed.cs
- SqlDataSourceCustomCommandPanel.cs
- MenuItem.cs
- _NtlmClient.cs
- ContentValidator.cs
- Drawing.cs
- TransactionScope.cs
- SettingsProviderCollection.cs
- ACE.cs
- QualifiedId.cs
- ComponentEditorPage.cs
- SqlCachedBuffer.cs
- ActivationServices.cs
- PropertyItem.cs
- DiscreteKeyFrames.cs
- ConsumerConnectionPoint.cs
- SchemaNames.cs
- SpAudioStreamWrapper.cs
- SoapObjectInfo.cs
- DataGridViewComboBoxEditingControl.cs
- ModelFunctionTypeElement.cs
- HttpDictionary.cs
- ArraySortHelper.cs
- SystemException.cs
- SplineQuaternionKeyFrame.cs
- Exceptions.cs
- OpenFileDialog.cs
- ObjectParameter.cs
- WebBrowser.cs
- PeerNameResolver.cs
- NetworkInformationPermission.cs
- ResourceDisplayNameAttribute.cs
- ErrorLog.cs
- LambdaCompiler.ControlFlow.cs
- TextPointerBase.cs
- StoryFragments.cs
- ScrollBarRenderer.cs
- BamlResourceContent.cs
- SqlUdtInfo.cs
- InputReferenceExpression.cs
- SqlDataSourceEnumerator.cs
- TraceSource.cs
- ELinqQueryState.cs
- BaseUriWithWildcard.cs
- PageStatePersister.cs
- Baml2006SchemaContext.cs
- StorageRoot.cs
- FixedBufferAttribute.cs
- DynamicValidatorEventArgs.cs
- ButtonPopupAdapter.cs
- DbCommandDefinition.cs
- DataSource.cs
- GridEntryCollection.cs
- UserControl.cs
- FileAuthorizationModule.cs
- SapiAttributeParser.cs
- XmlSchemaIdentityConstraint.cs
- Size3D.cs
- Size.cs
- ProcessHost.cs
- HostedImpersonationContext.cs
- NoClickablePointException.cs
- MembershipPasswordException.cs
- SchemaElementLookUpTable.cs
- CompositeControlDesigner.cs
- RowUpdatedEventArgs.cs
- SchemaMapping.cs
- DataGridViewSortCompareEventArgs.cs
- WebPartZoneBase.cs
- XmlSchemaImport.cs
- TextShapeableCharacters.cs
- DispatcherHooks.cs
- PageCache.cs
- ContextMarshalException.cs
- ObjectDisposedException.cs
- CollectionBase.cs
- PatternMatcher.cs
- AdornerDecorator.cs
- Material.cs
- StorageInfo.cs