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
- Attributes.cs
- UserControlParser.cs
- UIElement3D.cs
- EndOfStreamException.cs
- InfoCardListRequest.cs
- ThemeDirectoryCompiler.cs
- GlyphShapingProperties.cs
- XmlWriter.cs
- ApplicationTrust.cs
- StateRuntime.cs
- ModifierKeysConverter.cs
- AddInProcess.cs
- HandledEventArgs.cs
- DefaultSerializationProviderAttribute.cs
- altserialization.cs
- MetadataAssemblyHelper.cs
- UInt16.cs
- CounterCreationDataCollection.cs
- TextSpanModifier.cs
- ManipulationDeltaEventArgs.cs
- OleDragDropHandler.cs
- SqlClientMetaDataCollectionNames.cs
- MemberRelationshipService.cs
- X509CertificateClaimSet.cs
- SHA1.cs
- FunctionParameter.cs
- CellQuery.cs
- NamespaceList.cs
- GlobalizationSection.cs
- HelpKeywordAttribute.cs
- PublisherIdentityPermission.cs
- PerformanceCounterPermissionEntry.cs
- RadioButtonBaseAdapter.cs
- Size3DValueSerializer.cs
- CheckBox.cs
- RoleManagerEventArgs.cs
- IisTraceListener.cs
- DesignerLabelAdapter.cs
- Int64Storage.cs
- DesignBindingPicker.cs
- OracleConnectionStringBuilder.cs
- PreProcessInputEventArgs.cs
- SqlClientWrapperSmiStreamChars.cs
- ValidatingPropertiesEventArgs.cs
- DataView.cs
- XmlILStorageConverter.cs
- MemberMemberBinding.cs
- indexingfiltermarshaler.cs
- DecimalMinMaxAggregationOperator.cs
- IInstanceTable.cs
- PersistChildrenAttribute.cs
- ButtonStandardAdapter.cs
- NavigationWindowAutomationPeer.cs
- LineServicesCallbacks.cs
- TrackingValidationObjectDictionary.cs
- NoneExcludedImageIndexConverter.cs
- Tile.cs
- SoundPlayerAction.cs
- MessageQueuePermission.cs
- XmlSchemaInferenceException.cs
- DefaultTextStore.cs
- PathGeometry.cs
- TextOptionsInternal.cs
- _HeaderInfo.cs
- ImageListStreamer.cs
- RoleExceptions.cs
- Column.cs
- ExitEventArgs.cs
- Funcletizer.cs
- BinaryConverter.cs
- SessionSwitchEventArgs.cs
- OleDbConnection.cs
- UpdatePanelTrigger.cs
- ConfigXmlText.cs
- CustomTrackingRecord.cs
- PreviewPrintController.cs
- AnchoredBlock.cs
- DataGridHeaderBorder.cs
- Rfc4050KeyFormatter.cs
- StyleCollection.cs
- TemplateBindingExtension.cs
- EntitySqlQueryCacheEntry.cs
- SaveFileDialog.cs
- AnnotationMap.cs
- ResXResourceSet.cs
- XmlRawWriter.cs
- TemplateControlBuildProvider.cs
- HwndAppCommandInputProvider.cs
- DataGridViewCellConverter.cs
- MultiView.cs
- FormsAuthentication.cs
- RenderDataDrawingContext.cs
- HtmlInputRadioButton.cs
- nulltextnavigator.cs
- ViewStateException.cs
- SoapServerProtocol.cs
- DtrList.cs
- RegexGroup.cs
- FlowLayoutPanel.cs
- VisualStyleTypesAndProperties.cs