Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- EncodingConverter.cs
- CornerRadiusConverter.cs
- SqlProvider.cs
- ToolStripProgressBar.cs
- TextElement.cs
- XPathNodeHelper.cs
- ExtensionSimplifierMarkupObject.cs
- odbcmetadatafactory.cs
- RelatedCurrencyManager.cs
- XmlSchemaObjectTable.cs
- ApplicationDirectoryMembershipCondition.cs
- DynamicHyperLink.cs
- Point.cs
- DEREncoding.cs
- AssemblyNameProxy.cs
- WebPartConnectionsConnectVerb.cs
- BinarySerializer.cs
- _KerberosClient.cs
- TabPanel.cs
- CurrencyManager.cs
- ContentPlaceHolder.cs
- CallbackHandler.cs
- _TransmitFileOverlappedAsyncResult.cs
- BooleanFunctions.cs
- ElapsedEventArgs.cs
- CorrelationService.cs
- RC2CryptoServiceProvider.cs
- TextSegment.cs
- SendMessageChannelCache.cs
- SafeCertificateStore.cs
- ObjectItemAttributeAssemblyLoader.cs
- EventLogPermissionEntryCollection.cs
- InstanceHandleReference.cs
- XmlIlTypeHelper.cs
- ValidationError.cs
- HttpChannelHelper.cs
- SmiGettersStream.cs
- RuntimeHandles.cs
- listitem.cs
- X509SecurityTokenAuthenticator.cs
- IdentitySection.cs
- ParseHttpDate.cs
- InvalidWorkflowException.cs
- Globals.cs
- QilName.cs
- TitleStyle.cs
- DrawListViewSubItemEventArgs.cs
- MetadataUtilsSmi.cs
- GroupDescription.cs
- ListControl.cs
- TrustManager.cs
- ConfigurationPermission.cs
- SqlUDTStorage.cs
- AdornedElementPlaceholder.cs
- BitStack.cs
- DateBoldEvent.cs
- DbConnectionClosed.cs
- FileDialog_Vista_Interop.cs
- MailWebEventProvider.cs
- AsyncPostBackTrigger.cs
- RegistrationContext.cs
- NodeLabelEditEvent.cs
- XamlInt32CollectionSerializer.cs
- MetadataWorkspace.cs
- SplashScreenNativeMethods.cs
- CodeArrayIndexerExpression.cs
- StringUtil.cs
- CompareValidator.cs
- cryptoapiTransform.cs
- ObjectDataSourceDisposingEventArgs.cs
- PrimitiveXmlSerializers.cs
- CoTaskMemHandle.cs
- COM2TypeInfoProcessor.cs
- CookielessHelper.cs
- RoleGroupCollection.cs
- Timeline.cs
- CompatibleComparer.cs
- RuntimeConfig.cs
- CountdownEvent.cs
- BoundingRectTracker.cs
- ExceptionUtil.cs
- TagMapInfo.cs
- ObjectCacheHost.cs
- OdbcEnvironmentHandle.cs
- TypeSystemHelpers.cs
- RectangleF.cs
- DBPropSet.cs
- SettingsPropertyValue.cs
- HwndMouseInputProvider.cs
- IpcPort.cs
- ActiveXHost.cs
- SafeNativeMethods.cs
- WorkflowTransactionOptions.cs
- DragCompletedEventArgs.cs
- SessionStateModule.cs
- OracleDataAdapter.cs
- ListViewSortEventArgs.cs
- SmtpReplyReaderFactory.cs
- RijndaelManaged.cs
- DataGridViewColumnDesigner.cs