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
- AudioStateChangedEventArgs.cs
- UnionCodeGroup.cs
- DataServiceHostFactory.cs
- LinearGradientBrush.cs
- CollectionDataContractAttribute.cs
- odbcmetadatacolumnnames.cs
- CodeGenerator.cs
- XmlElement.cs
- SqlPersonalizationProvider.cs
- SharedConnectionInfo.cs
- HttpCachePolicy.cs
- FormDesigner.cs
- ExpressionList.cs
- UnmanagedBitmapWrapper.cs
- ReadOnlyTernaryTree.cs
- StyleBamlRecordReader.cs
- CodeGroup.cs
- WmlPanelAdapter.cs
- SubstitutionDesigner.cs
- BasePropertyDescriptor.cs
- PlainXmlSerializer.cs
- TextSyndicationContentKindHelper.cs
- RegisteredHiddenField.cs
- ContextDataSourceView.cs
- HttpWriter.cs
- DeferredBinaryDeserializerExtension.cs
- StyleBamlRecordReader.cs
- odbcmetadatafactory.cs
- MemberRelationshipService.cs
- FontDriver.cs
- PolicyUnit.cs
- MaterialCollection.cs
- ObjectItemAttributeAssemblyLoader.cs
- CollectionBuilder.cs
- sqlser.cs
- TagPrefixInfo.cs
- CodeSubDirectoriesCollection.cs
- HtmlAnchor.cs
- ConversionValidationRule.cs
- AsyncSerializedWorker.cs
- SrgsRule.cs
- KeysConverter.cs
- DesignTimeData.cs
- ReadOnlyNameValueCollection.cs
- FlowDocumentScrollViewer.cs
- MarkupExtensionSerializer.cs
- SwitchElementsCollection.cs
- CodePageEncoding.cs
- HandoffBehavior.cs
- AsyncSerializedWorker.cs
- PersistNameAttribute.cs
- NameValueCollection.cs
- PrePrepareMethodAttribute.cs
- UIElement.cs
- DataGridViewControlCollection.cs
- VirtualPathUtility.cs
- TemplateBamlRecordReader.cs
- SelectiveScrollingGrid.cs
- _Win32.cs
- TypeDependencyAttribute.cs
- ConnectionManagementElement.cs
- MdImport.cs
- ActiveXHelper.cs
- PropertiesTab.cs
- IISMapPath.cs
- OdbcPermission.cs
- TableRowGroup.cs
- FileSystemWatcher.cs
- StrongTypingException.cs
- XPathDocument.cs
- SubtreeProcessor.cs
- DesignerAdapterUtil.cs
- ComponentResourceKey.cs
- FrameworkElementAutomationPeer.cs
- UriSectionReader.cs
- ClipboardData.cs
- AsyncResult.cs
- RequestCachePolicy.cs
- ContextQuery.cs
- ExpressionContext.cs
- ExpressionBindingCollection.cs
- RangeValidator.cs
- FragmentNavigationEventArgs.cs
- BrowserCapabilitiesCodeGenerator.cs
- TextTrailingCharacterEllipsis.cs
- PublishLicense.cs
- SiteMap.cs
- BamlMapTable.cs
- NavigatorInput.cs
- HtmlInputButton.cs
- EventLogPermissionHolder.cs
- ResourceExpression.cs
- CompiledQueryCacheEntry.cs
- ZipPackage.cs
- SqlDataSourceTableQuery.cs
- ErrorFormatterPage.cs
- DataGridViewIntLinkedList.cs
- XmlQualifiedName.cs
- DropDownButton.cs
- AdornerDecorator.cs