Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / Media / Imaging / UnknownBitmapEncoder.cs / 1 / UnknownBitmapEncoder.cs
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, All Rights Reserved
//
// File: UnknownBitmapEncoder.cs
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.Security;
using System.Security.Permissions;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using MS.Internal;
using MS.Win32.PresentationCore;
using System.Diagnostics;
using System.Windows.Media;
using System.Globalization;
using System.Windows.Media.Imaging;
namespace System.Windows.Media.Imaging
{
#region UnknownBitmapEncoder
///
/// Built-in Encoder for Unknown files.
///
internal sealed class UnknownBitmapEncoder : BitmapEncoder
{
#region Constructors
///
/// Constructor for UnknownBitmapEncoder
///
///
/// Critical - will eventually create unmanaged resources based on guid
///
[SecurityCritical]
public UnknownBitmapEncoder(Guid containerFormat) :
base(true)
{
_containerFormat = containerFormat;
// Assume it supports everything
_supportsPreview = true;
_supportsGlobalThumbnail = true;
_supportsGlobalMetadata = false;
_supportsFrameThumbnails = true;
_supportsMultipleFrames = true;
_supportsFrameMetadata = true;
}
#endregion
#region Internal Properties / Methods
///
/// Returns the container format for this encoder
///
///
/// Critical - uses guid to create unmanaged resources
///
internal override Guid ContainerFormat
{
[SecurityCritical]
get
{
return _containerFormat;
}
}
///
/// Setups the encoder and other properties before encoding each frame
///
///
/// Critical - Accesses unmanaged code
/// TreatAsSafe - All parameters passed in are safe (null, 0 and safehandle)
///
[SecurityCritical, SecurityTreatAsSafe]
internal override void SetupFrame(SafeMILHandle frameEncodeHandle, SafeMILHandle encoderOptions)
{
HRESULT.Check(UnsafeNativeMethods.WICBitmapFrameEncode.Initialize(
frameEncodeHandle,
encoderOptions
));
}
#endregion
#region Internal Abstract
/// Need to implement this to derive from the "sealed" object
internal override void SealObject()
{
throw new NotImplementedException();
}
#endregion
#region Data Members
///
/// Critical - CLSID used for creation of critical resources
///
[SecurityCritical]
private Guid _containerFormat;
#endregion
}
#endregion // UnknownBitmapEncoder
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, All Rights Reserved
//
// File: UnknownBitmapEncoder.cs
//
//-----------------------------------------------------------------------------
using System;
using System.Collections;
using System.Security;
using System.Security.Permissions;
using System.ComponentModel;
using System.ComponentModel.Design.Serialization;
using System.Reflection;
using MS.Internal;
using MS.Win32.PresentationCore;
using System.Diagnostics;
using System.Windows.Media;
using System.Globalization;
using System.Windows.Media.Imaging;
namespace System.Windows.Media.Imaging
{
#region UnknownBitmapEncoder
///
/// Built-in Encoder for Unknown files.
///
internal sealed class UnknownBitmapEncoder : BitmapEncoder
{
#region Constructors
///
/// Constructor for UnknownBitmapEncoder
///
///
/// Critical - will eventually create unmanaged resources based on guid
///
[SecurityCritical]
public UnknownBitmapEncoder(Guid containerFormat) :
base(true)
{
_containerFormat = containerFormat;
// Assume it supports everything
_supportsPreview = true;
_supportsGlobalThumbnail = true;
_supportsGlobalMetadata = false;
_supportsFrameThumbnails = true;
_supportsMultipleFrames = true;
_supportsFrameMetadata = true;
}
#endregion
#region Internal Properties / Methods
///
/// Returns the container format for this encoder
///
///
/// Critical - uses guid to create unmanaged resources
///
internal override Guid ContainerFormat
{
[SecurityCritical]
get
{
return _containerFormat;
}
}
///
/// Setups the encoder and other properties before encoding each frame
///
///
/// Critical - Accesses unmanaged code
/// TreatAsSafe - All parameters passed in are safe (null, 0 and safehandle)
///
[SecurityCritical, SecurityTreatAsSafe]
internal override void SetupFrame(SafeMILHandle frameEncodeHandle, SafeMILHandle encoderOptions)
{
HRESULT.Check(UnsafeNativeMethods.WICBitmapFrameEncode.Initialize(
frameEncodeHandle,
encoderOptions
));
}
#endregion
#region Internal Abstract
/// Need to implement this to derive from the "sealed" object
internal override void SealObject()
{
throw new NotImplementedException();
}
#endregion
#region Data Members
///
/// Critical - CLSID used for creation of critical resources
///
[SecurityCritical]
private Guid _containerFormat;
#endregion
}
#endregion // UnknownBitmapEncoder
}
// 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
- CompressionTransform.cs
- ResourcePool.cs
- NetMsmqBindingElement.cs
- counter.cs
- ColumnWidthChangingEvent.cs
- EnvelopedPkcs7.cs
- ListControl.cs
- QuestionEventArgs.cs
- PropertyConverter.cs
- DoubleAnimationUsingKeyFrames.cs
- SafeRightsManagementQueryHandle.cs
- RequestCachingSection.cs
- TriState.cs
- MSG.cs
- HierarchicalDataSourceControl.cs
- WindowPattern.cs
- ServiceHttpHandlerFactory.cs
- XamlSerializer.cs
- ObservableDictionary.cs
- RegisterResponseInfo.cs
- TextPointerBase.cs
- ComponentChangedEvent.cs
- DataGridViewColumnHeaderCell.cs
- Touch.cs
- XPathNodeInfoAtom.cs
- SchemaComplexType.cs
- _ScatterGatherBuffers.cs
- ControlParser.cs
- ProviderBase.cs
- SuppressMessageAttribute.cs
- TextRangeSerialization.cs
- SrgsGrammarCompiler.cs
- Int32AnimationBase.cs
- DataListItemEventArgs.cs
- RelationshipNavigation.cs
- WorkflowPersistenceContext.cs
- FormatterServices.cs
- ResourceProviderFactory.cs
- WorkerRequest.cs
- ConfigurationSectionGroupCollection.cs
- HtmlForm.cs
- CodeNamespace.cs
- XsdBuilder.cs
- SinglePageViewer.cs
- NumericUpDown.cs
- ComponentCollection.cs
- DateTimeUtil.cs
- TriggerBase.cs
- TypeSystem.cs
- ReadWriteObjectLock.cs
- httpapplicationstate.cs
- DateTimePickerDesigner.cs
- TableItemPatternIdentifiers.cs
- DbSetClause.cs
- TabletDeviceInfo.cs
- TextBlock.cs
- MetaModel.cs
- BindingExpressionUncommonField.cs
- ErasingStroke.cs
- WindowInteropHelper.cs
- DataViewSetting.cs
- NativeMethods.cs
- HitTestFilterBehavior.cs
- EdmItemCollection.cs
- HostingPreferredMapPath.cs
- SafeRightsManagementQueryHandle.cs
- FixUp.cs
- ClientBuildManagerCallback.cs
- AlphabeticalEnumConverter.cs
- ConstNode.cs
- HtmlAnchor.cs
- InkCanvasSelection.cs
- TextPenaltyModule.cs
- ControlAdapter.cs
- Subordinate.cs
- UnauthorizedAccessException.cs
- Console.cs
- UmAlQuraCalendar.cs
- SpAudioStreamWrapper.cs
- QuaternionIndependentAnimationStorage.cs
- _NtlmClient.cs
- BaseParagraph.cs
- ToolBar.cs
- EqualityComparer.cs
- SqlDelegatedTransaction.cs
- SafeCryptContextHandle.cs
- CommandDevice.cs
- Decimal.cs
- FacetValueContainer.cs
- Effect.cs
- MetadataFile.cs
- WpfWebRequestHelper.cs
- CalloutQueueItem.cs
- StylesEditorDialog.cs
- FrameworkPropertyMetadata.cs
- DATA_BLOB.cs
- CompModSwitches.cs
- XsdValidatingReader.cs
- SuppressMessageAttribute.cs
- ConnectionStringsSection.cs