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
- PasswordTextContainer.cs
- TransformDescriptor.cs
- TypedTableHandler.cs
- ListenerElementsCollection.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- SystemMulticastIPAddressInformation.cs
- PersistencePipeline.cs
- XmlQueryType.cs
- ScrollItemPattern.cs
- KeyValuePair.cs
- Triplet.cs
- CounterSetInstanceCounterDataSet.cs
- XmlQueryOutput.cs
- HebrewCalendar.cs
- TextContainerChangeEventArgs.cs
- DataShape.cs
- ColorConverter.cs
- UserNameSecurityToken.cs
- MethodInfo.cs
- AuthStoreRoleProvider.cs
- ProtocolsConfigurationEntry.cs
- RadioButtonList.cs
- XmlAttributeAttribute.cs
- InputScopeAttribute.cs
- DetailsViewRowCollection.cs
- PrinterUnitConvert.cs
- CompositeActivityTypeDescriptor.cs
- MonitoringDescriptionAttribute.cs
- ImpersonateTokenRef.cs
- arclist.cs
- InstanceData.cs
- EntityDataSourceStatementEditorForm.cs
- MobileListItem.cs
- DocumentStream.cs
- XmlNodeComparer.cs
- ADRoleFactory.cs
- NetworkInformationException.cs
- Duration.cs
- HtmlSelectionListAdapter.cs
- IsolatedStorage.cs
- NetworkAddressChange.cs
- UInt16Storage.cs
- CompiledQuery.cs
- InstalledFontCollection.cs
- storagemappingitemcollection.viewdictionary.cs
- PipelineModuleStepContainer.cs
- PictureBox.cs
- DataServiceProviderMethods.cs
- BasicExpressionVisitor.cs
- PrivilegeNotHeldException.cs
- FacetChecker.cs
- Splitter.cs
- EncoderParameter.cs
- Pick.cs
- TextBoxView.cs
- TextDecorations.cs
- PolicyException.cs
- TextViewElement.cs
- ProcessInfo.cs
- DateTime.cs
- EmptyReadOnlyDictionaryInternal.cs
- BuildProvider.cs
- ImageMap.cs
- PageCache.cs
- SoapSchemaExporter.cs
- CodeTypeMemberCollection.cs
- DisplayInformation.cs
- ReverseInheritProperty.cs
- PackageDigitalSignature.cs
- SpoolingTaskBase.cs
- DataGridViewIntLinkedList.cs
- TraceContext.cs
- EastAsianLunisolarCalendar.cs
- WebPartZoneCollection.cs
- InfoCardHelper.cs
- ObjectReaderCompiler.cs
- StoreAnnotationsMap.cs
- WaitHandleCannotBeOpenedException.cs
- AuthenticationConfig.cs
- InvalidCommandTreeException.cs
- SerTrace.cs
- ManagementException.cs
- TableSectionStyle.cs
- XpsPartBase.cs
- RIPEMD160Managed.cs
- SimplePropertyEntry.cs
- Parser.cs
- SingleQueryOperator.cs
- XPathCompileException.cs
- OutgoingWebResponseContext.cs
- MarkupCompilePass2.cs
- WebExceptionStatus.cs
- NonParentingControl.cs
- XomlSerializationHelpers.cs
- RemoteWebConfigurationHostServer.cs
- StylusPointCollection.cs
- TemplatedWizardStep.cs
- Msec.cs
- Set.cs
- WindowsListViewItemStartMenu.cs