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
- Stopwatch.cs
- DispatchRuntime.cs
- ReadOnlyAttribute.cs
- MethodRental.cs
- CompModSwitches.cs
- CollectionViewSource.cs
- CodeSnippetCompileUnit.cs
- NullableBoolConverter.cs
- HttpClientCertificate.cs
- ArgIterator.cs
- CapabilitiesRule.cs
- SystemInformation.cs
- TempFiles.cs
- Splitter.cs
- ButtonChrome.cs
- HostingEnvironmentException.cs
- CodeParameterDeclarationExpression.cs
- XpsImageSerializationService.cs
- followingsibling.cs
- SoapElementAttribute.cs
- XmlCountingReader.cs
- StringInfo.cs
- HtmlLinkAdapter.cs
- StringFormat.cs
- HttpServerChannel.cs
- DropShadowEffect.cs
- CatalogPartChrome.cs
- ProjectionRewriter.cs
- DefaultWorkflowSchedulerService.cs
- TypeLoadException.cs
- ColumnResizeAdorner.cs
- ImplicitInputBrush.cs
- XmlAggregates.cs
- EntityContainerEmitter.cs
- UnsignedPublishLicense.cs
- TextDecorations.cs
- PointUtil.cs
- SplitterEvent.cs
- Convert.cs
- DataGridViewCellCancelEventArgs.cs
- JsonClassDataContract.cs
- Hex.cs
- NetworkCredential.cs
- Attributes.cs
- WSSecurityJan2004.cs
- SplitContainerDesigner.cs
- NamedObject.cs
- ReferenceSchema.cs
- FrameSecurityDescriptor.cs
- WindowsTokenRoleProvider.cs
- TimeSpanConverter.cs
- XmlElement.cs
- SerializerProvider.cs
- DataGridViewBindingCompleteEventArgs.cs
- ObjectHandle.cs
- NetPipeSectionData.cs
- TextFormatterHost.cs
- PropertyDescriptor.cs
- ConnectionProviderAttribute.cs
- DrawingContext.cs
- MemberProjectionIndex.cs
- ResourcePart.cs
- _ConnectOverlappedAsyncResult.cs
- TreeViewImageGenerator.cs
- ArgumentException.cs
- EmptyStringExpandableObjectConverter.cs
- CodeObject.cs
- BindingNavigatorDesigner.cs
- Matrix3DStack.cs
- MonikerProxyAttribute.cs
- HttpResponseInternalWrapper.cs
- InputMethodStateChangeEventArgs.cs
- RemotingAttributes.cs
- TreeWalkHelper.cs
- SchemaImporter.cs
- DataKeyCollection.cs
- SortedDictionary.cs
- DataExchangeServiceBinder.cs
- SecurityUtils.cs
- DependencyPropertyKind.cs
- AsyncPostBackTrigger.cs
- WebPartChrome.cs
- DesignerAttributeInfo.cs
- glyphs.cs
- HttpResponse.cs
- remotingproxy.cs
- WebPartEditorCancelVerb.cs
- BufferModesCollection.cs
- QueryContinueDragEvent.cs
- ConstructorNeedsTagAttribute.cs
- RadioButton.cs
- PrefixHandle.cs
- XmlWrappingWriter.cs
- TreeNodeConverter.cs
- LoginUtil.cs
- ObjectStateFormatter.cs
- HtmlToClrEventProxy.cs
- TextEditorCopyPaste.cs
- NativeMethodsOther.cs
- EventHandlerList.cs