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
- ParallelTimeline.cs
- Image.cs
- CustomWebEventKey.cs
- ThemeConfigurationDialog.cs
- DateTimeConverter2.cs
- Path.cs
- FilterUserControlBase.cs
- SystemGatewayIPAddressInformation.cs
- IFlowDocumentViewer.cs
- DataQuery.cs
- ArrayListCollectionBase.cs
- MembershipSection.cs
- _SpnDictionary.cs
- EmulateRecognizeCompletedEventArgs.cs
- SecureEnvironment.cs
- ObjectNavigationPropertyMapping.cs
- SyndicationSerializer.cs
- StatusBarPanel.cs
- BulletDecorator.cs
- GenericEnumerator.cs
- TextEffect.cs
- ProvideValueServiceProvider.cs
- WSSecurityXXX2005.cs
- HtmlGenericControl.cs
- BlobPersonalizationState.cs
- PropertyPathConverter.cs
- CompModSwitches.cs
- DocumentPage.cs
- HttpModuleCollection.cs
- AuthenticationModulesSection.cs
- DefinitionBase.cs
- XpsFixedDocumentReaderWriter.cs
- SqlUserDefinedTypeAttribute.cs
- Operand.cs
- ConfigurationPropertyAttribute.cs
- Pool.cs
- WindowsFormsLinkLabel.cs
- ImmutableObjectAttribute.cs
- SqlRowUpdatingEvent.cs
- AnimationClockResource.cs
- HeaderFilter.cs
- DataGridViewRowPrePaintEventArgs.cs
- COM2ColorConverter.cs
- webproxy.cs
- EditingCoordinator.cs
- DictionaryEntry.cs
- WebCategoryAttribute.cs
- FormViewDesigner.cs
- AncestorChangedEventArgs.cs
- AspNetRouteServiceHttpHandler.cs
- ChildDocumentBlock.cs
- JavaScriptObjectDeserializer.cs
- HScrollProperties.cs
- ExecutionContext.cs
- EntityDataSourceWrapperPropertyDescriptor.cs
- DisableDpiAwarenessAttribute.cs
- WebPartConnectionsDisconnectVerb.cs
- RenderOptions.cs
- ApplicationProxyInternal.cs
- WmfPlaceableFileHeader.cs
- PropertiesTab.cs
- TagPrefixAttribute.cs
- ToolStripSettings.cs
- CacheSection.cs
- AutomationIdentifierGuids.cs
- QuotedPrintableStream.cs
- SourceFileBuildProvider.cs
- ExpressionBuilder.cs
- DPTypeDescriptorContext.cs
- DataGridViewCellValueEventArgs.cs
- CurrentChangedEventManager.cs
- TextContainerHelper.cs
- ReliableSessionBindingElementImporter.cs
- MexBindingBindingCollectionElement.cs
- DashStyle.cs
- TransformValueSerializer.cs
- UInt16Converter.cs
- TPLETWProvider.cs
- ImageSource.cs
- Encoding.cs
- SoapCommonClasses.cs
- GridViewDeletedEventArgs.cs
- SchemaTypeEmitter.cs
- SHA1CryptoServiceProvider.cs
- XMLSyntaxException.cs
- DateTimeOffsetAdapter.cs
- DecoderNLS.cs
- CompoundFileStreamReference.cs
- StorageMappingItemCollection.cs
- GroupLabel.cs
- SequentialUshortCollection.cs
- SHA1Managed.cs
- LocalIdKeyIdentifierClause.cs
- MsmqDiagnostics.cs
- BaseCodeDomTreeGenerator.cs
- ObjectDataSourceEventArgs.cs
- TraceSource.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SQLInt32Storage.cs
- WebPartChrome.cs