Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / System / Windows / InterOp / Imaging.cs / 1 / Imaging.cs
//------------------------------------------------------------------------------
// Microsoft Avalon
// Copyright (c) Microsoft Corporation, All Rights Reserved.
//
// File: Imaging.cs
//
//-----------------------------------------------------------------------------
using System;
using System.Security;
using System.Security.Permissions;
using MS.Internal;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media.Imaging;
using Microsoft.Win32.SafeHandles;
using MS.Internal.PresentationCore; // SecurityHelper
using System.Windows.Interop;
namespace System.Windows.Interop
{
///
/// Managed/Unmanaged Interop for Imaging.
///
public static class Imaging
{
///
/// Construct an Bitmap from a HBITMAP.
///
///
///
///
///
///
/// Callers must have UnmanagedCode permission to call this API.
///
///
/// Critical - calls critical code, access unmanaged resources
/// PublicOK - demands unmanaged code permission
///
[SecurityCritical]
unsafe public static BitmapSource CreateBitmapSourceFromHBitmap(
IntPtr bitmap,
IntPtr palette,
Int32Rect sourceRect,
BitmapSizeOptions sizeOptions)
{
SecurityHelper.DemandUnmanagedCode();
// CR: dwaynen (1681459)
return CriticalCreateBitmapSourceFromHBitmap(bitmap, palette, sourceRect, sizeOptions, WICBitmapAlphaChannelOption.WICBitmapUseAlpha);
}
///
/// Construct an Bitmap from a HBITMAP.
///
///
///
///
///
///
///
/// Critical - calls critical code, access unmanaged resources
///
[SecurityCritical]
unsafe internal static BitmapSource CriticalCreateBitmapSourceFromHBitmap(
IntPtr bitmap,
IntPtr palette,
Int32Rect sourceRect,
BitmapSizeOptions sizeOptions,
WICBitmapAlphaChannelOption alphaOptions)
{
if (bitmap == IntPtr.Zero)
{
throw new ArgumentNullException("bitmap");
}
return new InteropBitmap(bitmap, palette, sourceRect, sizeOptions, alphaOptions); // use the critical version
}
///
/// Construct an Bitmap from a HICON.
///
///
///
///
///
/// Callers must have UnmanagedCode permission to call this API.
///
///
/// Critical - calls critical code, access unmanaged resources
/// PublicOK - demands unmanaged code permission
///
[SecurityCritical ]
unsafe public static BitmapSource CreateBitmapSourceFromHIcon(
IntPtr icon,
Int32Rect sourceRect,
BitmapSizeOptions sizeOptions)
{
SecurityHelper.DemandUnmanagedCode();
if (icon == IntPtr.Zero)
{
throw new ArgumentNullException("icon");
}
return new InteropBitmap(icon, sourceRect, sizeOptions);
}
///
/// Construct an Bitmap from a section handle.
///
///
///
///
///
///
///
///
/// Callers must have UnmanagedCode permission to call this API.
///
///
/// Critical - calls critical code, access unmanaged resources
/// PublicOK - demands unmanaged code permission
///
[SecurityCritical ]
unsafe public static BitmapSource CreateBitmapSourceFromMemorySection(
IntPtr section,
int pixelWidth,
int pixelHeight,
Media.PixelFormat format,
int stride,
int offset)
{
SecurityHelper.DemandUnmanagedCode();
if (section == IntPtr.Zero)
{
throw new ArgumentNullException("section");
}
return new InteropBitmap(section, pixelWidth, pixelHeight, format, stride, offset);
}
}
}
// 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: Imaging.cs
//
//-----------------------------------------------------------------------------
using System;
using System.Security;
using System.Security.Permissions;
using MS.Internal;
using System.Diagnostics;
using System.Windows;
using System.Windows.Media.Imaging;
using Microsoft.Win32.SafeHandles;
using MS.Internal.PresentationCore; // SecurityHelper
using System.Windows.Interop;
namespace System.Windows.Interop
{
///
/// Managed/Unmanaged Interop for Imaging.
///
public static class Imaging
{
///
/// Construct an Bitmap from a HBITMAP.
///
///
///
///
///
///
/// Callers must have UnmanagedCode permission to call this API.
///
///
/// Critical - calls critical code, access unmanaged resources
/// PublicOK - demands unmanaged code permission
///
[SecurityCritical]
unsafe public static BitmapSource CreateBitmapSourceFromHBitmap(
IntPtr bitmap,
IntPtr palette,
Int32Rect sourceRect,
BitmapSizeOptions sizeOptions)
{
SecurityHelper.DemandUnmanagedCode();
// CR: dwaynen (1681459)
return CriticalCreateBitmapSourceFromHBitmap(bitmap, palette, sourceRect, sizeOptions, WICBitmapAlphaChannelOption.WICBitmapUseAlpha);
}
///
/// Construct an Bitmap from a HBITMAP.
///
///
///
///
///
///
///
/// Critical - calls critical code, access unmanaged resources
///
[SecurityCritical]
unsafe internal static BitmapSource CriticalCreateBitmapSourceFromHBitmap(
IntPtr bitmap,
IntPtr palette,
Int32Rect sourceRect,
BitmapSizeOptions sizeOptions,
WICBitmapAlphaChannelOption alphaOptions)
{
if (bitmap == IntPtr.Zero)
{
throw new ArgumentNullException("bitmap");
}
return new InteropBitmap(bitmap, palette, sourceRect, sizeOptions, alphaOptions); // use the critical version
}
///
/// Construct an Bitmap from a HICON.
///
///
///
///
///
/// Callers must have UnmanagedCode permission to call this API.
///
///
/// Critical - calls critical code, access unmanaged resources
/// PublicOK - demands unmanaged code permission
///
[SecurityCritical ]
unsafe public static BitmapSource CreateBitmapSourceFromHIcon(
IntPtr icon,
Int32Rect sourceRect,
BitmapSizeOptions sizeOptions)
{
SecurityHelper.DemandUnmanagedCode();
if (icon == IntPtr.Zero)
{
throw new ArgumentNullException("icon");
}
return new InteropBitmap(icon, sourceRect, sizeOptions);
}
///
/// Construct an Bitmap from a section handle.
///
///
///
///
///
///
///
///
/// Callers must have UnmanagedCode permission to call this API.
///
///
/// Critical - calls critical code, access unmanaged resources
/// PublicOK - demands unmanaged code permission
///
[SecurityCritical ]
unsafe public static BitmapSource CreateBitmapSourceFromMemorySection(
IntPtr section,
int pixelWidth,
int pixelHeight,
Media.PixelFormat format,
int stride,
int offset)
{
SecurityHelper.DemandUnmanagedCode();
if (section == IntPtr.Zero)
{
throw new ArgumentNullException("section");
}
return new InteropBitmap(section, pixelWidth, pixelHeight, format, stride, offset);
}
}
}
// 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
- XmlException.cs
- TaskSchedulerException.cs
- DependencyPropertyHelper.cs
- XmlSchemaException.cs
- InstallerTypeAttribute.cs
- AppDomainEvidenceFactory.cs
- DecoderReplacementFallback.cs
- NameSpaceExtractor.cs
- TimeSpanStorage.cs
- ListViewItemMouseHoverEvent.cs
- SizeKeyFrameCollection.cs
- WSIdentityFaultException.cs
- HtmlCommandAdapter.cs
- DbQueryCommandTree.cs
- SystemIPGlobalStatistics.cs
- ListViewItem.cs
- ResourceKey.cs
- WindowsFormsHost.cs
- ProjectionCamera.cs
- PersistenceProviderBehavior.cs
- ProcessHostMapPath.cs
- RegexReplacement.cs
- CustomCategoryAttribute.cs
- DiscreteKeyFrames.cs
- ToolStripItemGlyph.cs
- MethodRental.cs
- TextTreeText.cs
- CompilerError.cs
- SerializationFieldInfo.cs
- DataGridItem.cs
- ExtendedProperty.cs
- HtmlTextArea.cs
- MessageQueuePermission.cs
- UnmanagedMemoryStream.cs
- EntityDesignerUtils.cs
- AsyncStreamReader.cs
- AutomationElement.cs
- DataViewSetting.cs
- WinFormsSecurity.cs
- ComponentCollection.cs
- PassportPrincipal.cs
- Permission.cs
- _SingleItemRequestCache.cs
- OleDbTransaction.cs
- PageClientProxyGenerator.cs
- Compiler.cs
- TableAdapterManagerGenerator.cs
- Assert.cs
- BidOverLoads.cs
- HelpProvider.cs
- BrowserCapabilitiesFactoryBase.cs
- Clause.cs
- ReferentialConstraint.cs
- ConstructorExpr.cs
- QilList.cs
- EntitySetDataBindingList.cs
- OdbcErrorCollection.cs
- WhitespaceRuleLookup.cs
- GridView.cs
- FtpRequestCacheValidator.cs
- MenuCommands.cs
- SizeAnimation.cs
- RegistrationServices.cs
- DataListItem.cs
- ToolStripRenderer.cs
- Vector3DAnimationUsingKeyFrames.cs
- DependencyPropertyAttribute.cs
- FigureParaClient.cs
- AppendHelper.cs
- PolicyException.cs
- XmlSchemaObject.cs
- ObsoleteAttribute.cs
- AddInEnvironment.cs
- _ConnectOverlappedAsyncResult.cs
- NonParentingControl.cs
- ServerValidateEventArgs.cs
- CornerRadiusConverter.cs
- EditorAttribute.cs
- COM2AboutBoxPropertyDescriptor.cs
- GradientBrush.cs
- ImageSourceValueSerializer.cs
- TableProvider.cs
- RuleSettingsCollection.cs
- PerformanceCounterPermission.cs
- BindingNavigator.cs
- InternalTypeHelper.cs
- SoapObjectWriter.cs
- WindowAutomationPeer.cs
- Oid.cs
- RequestQueryParser.cs
- precedingquery.cs
- DataSvcMapFile.cs
- GenericsInstances.cs
- DataGridViewRowStateChangedEventArgs.cs
- Application.cs
- OracleString.cs
- SequentialOutput.cs
- ConnectionConsumerAttribute.cs
- XmlSchemaExternal.cs
- Scene3D.cs