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
- DataSource.cs
- Attributes.cs
- EdmToObjectNamespaceMap.cs
- ExpressionBuilderCollection.cs
- CommandHelper.cs
- XamlPoint3DCollectionSerializer.cs
- CounterCreationDataCollection.cs
- CodeLabeledStatement.cs
- PowerModeChangedEventArgs.cs
- CompositeControl.cs
- DomainUpDown.cs
- ActivityContext.cs
- IDispatchConstantAttribute.cs
- ModifiableIteratorCollection.cs
- CqlParserHelpers.cs
- HwndPanningFeedback.cs
- TextTreeTextBlock.cs
- NumberAction.cs
- TextProviderWrapper.cs
- ColorContext.cs
- SmtpReplyReaderFactory.cs
- XmlTextReader.cs
- SecurityCriticalDataForSet.cs
- mactripleDES.cs
- MsmqAppDomainProtocolHandler.cs
- SID.cs
- GridViewColumnCollection.cs
- FormsAuthenticationTicket.cs
- ControlAdapter.cs
- LicenseProviderAttribute.cs
- TcpAppDomainProtocolHandler.cs
- Predicate.cs
- MemberDescriptor.cs
- RewritingPass.cs
- Int16Storage.cs
- BinaryFormatter.cs
- RSAPKCS1KeyExchangeFormatter.cs
- PrimitiveType.cs
- IsolatedStorageFilePermission.cs
- MembershipPasswordException.cs
- Transform3DGroup.cs
- Visual3D.cs
- AtlasWeb.Designer.cs
- WebPartManager.cs
- PrivilegeNotHeldException.cs
- ColorConvertedBitmap.cs
- CancellationHandlerDesigner.cs
- ModuleBuilderData.cs
- PartialToken.cs
- BufferCache.cs
- ListChangedEventArgs.cs
- SemaphoreFullException.cs
- GeneralTransformCollection.cs
- WindowsAltTab.cs
- CookieParameter.cs
- TripleDESCryptoServiceProvider.cs
- HMACMD5.cs
- Table.cs
- BooleanToVisibilityConverter.cs
- HttpFileCollection.cs
- ReferentialConstraint.cs
- DocumentXmlWriter.cs
- TypeHelper.cs
- Journaling.cs
- SqlDesignerDataSourceView.cs
- WindowsProgressbar.cs
- NumericUpDownAccelerationCollection.cs
- BooleanConverter.cs
- FixedElement.cs
- RawStylusInput.cs
- BaseDataListPage.cs
- Constraint.cs
- CssStyleCollection.cs
- XmlSchemaComplexContentRestriction.cs
- HeaderCollection.cs
- AmbiguousMatchException.cs
- FileSystemEventArgs.cs
- WebCategoryAttribute.cs
- ProgressPage.cs
- ObjRef.cs
- PriorityQueue.cs
- ProfilePropertySettingsCollection.cs
- FixedSOMPageConstructor.cs
- CodeCatchClauseCollection.cs
- ListControl.cs
- DataGridViewCellContextMenuStripNeededEventArgs.cs
- IBuiltInEvidence.cs
- XmlSubtreeReader.cs
- BackEase.cs
- CannotUnloadAppDomainException.cs
- XmlIgnoreAttribute.cs
- SimpleWebHandlerParser.cs
- HitTestFilterBehavior.cs
- Parallel.cs
- QilIterator.cs
- BooleanSwitch.cs
- OdbcConnection.cs
- Imaging.cs
- NativeActivityFaultContext.cs
- IntPtr.cs