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
- Wildcard.cs
- DrawingImage.cs
- Overlapped.cs
- ItemCollectionEditor.cs
- WebPartManager.cs
- DesignerTextViewAdapter.cs
- DrawingDrawingContext.cs
- Vector3DKeyFrameCollection.cs
- ColorIndependentAnimationStorage.cs
- ClickablePoint.cs
- SecurityChannelListener.cs
- BindableTemplateBuilder.cs
- MouseGestureConverter.cs
- CustomAttribute.cs
- DiagnosticsConfiguration.cs
- PersonalizablePropertyEntry.cs
- EdgeProfileValidation.cs
- ObjectSecurity.cs
- RequiredFieldValidator.cs
- SqlMultiplexer.cs
- COM2Properties.cs
- Int32Rect.cs
- StateRuntime.cs
- FrameSecurityDescriptor.cs
- HttpServerVarsCollection.cs
- _Semaphore.cs
- FullTextState.cs
- TraceContext.cs
- DataGridViewCellLinkedList.cs
- COM2ExtendedTypeConverter.cs
- AuthorizationRule.cs
- DeferredTextReference.cs
- AsymmetricKeyExchangeFormatter.cs
- ContractReference.cs
- Util.cs
- SapiRecognizer.cs
- GorillaCodec.cs
- UnsettableComboBox.cs
- TemplateXamlParser.cs
- FormsAuthenticationUserCollection.cs
- DataServiceConfiguration.cs
- ScrollViewerAutomationPeer.cs
- HttpDebugHandler.cs
- SamlDelegatingWriter.cs
- MsmqUri.cs
- DataSourceDesigner.cs
- CustomAttributeBuilder.cs
- ObjectDataSourceDisposingEventArgs.cs
- TimeoutException.cs
- X509CertificateRecipientServiceCredential.cs
- MLangCodePageEncoding.cs
- SqlDataSource.cs
- XmlSchemaAnnotated.cs
- EdmScalarPropertyAttribute.cs
- ObjectKeyFrameCollection.cs
- SubMenuStyleCollection.cs
- TableRow.cs
- PresentationTraceSources.cs
- WindowVisualStateTracker.cs
- GradientStopCollection.cs
- EntityDataSource.cs
- BrushMappingModeValidation.cs
- Validator.cs
- LogFlushAsyncResult.cs
- StringKeyFrameCollection.cs
- TextDecoration.cs
- TextEditorSelection.cs
- StylusTouchDevice.cs
- PropertyDescriptorCollection.cs
- HttpCapabilitiesBase.cs
- UserControl.cs
- StrokeNode.cs
- TogglePattern.cs
- EditingMode.cs
- ExtendedTransformFactory.cs
- Char.cs
- Drawing.cs
- CompositeScriptReferenceEventArgs.cs
- SynchronizationScope.cs
- SiteMapDataSourceDesigner.cs
- CodeMethodInvokeExpression.cs
- DynamicILGenerator.cs
- FixedLineResult.cs
- DSASignatureDeformatter.cs
- LookupBindingPropertiesAttribute.cs
- PointAnimation.cs
- EdmSchemaAttribute.cs
- LoaderAllocator.cs
- PeerInvitationResponse.cs
- CellLabel.cs
- ExtensionQuery.cs
- TreeViewEvent.cs
- HttpStaticObjectsCollectionBase.cs
- PeerCredentialElement.cs
- ToolStripSeparatorRenderEventArgs.cs
- DbProviderFactoriesConfigurationHandler.cs
- ActionFrame.cs
- CodeAttributeArgumentCollection.cs
- ReadOnlyDataSourceView.cs
- HyperlinkAutomationPeer.cs