Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- WsdlHelpGeneratorElement.cs
- PopupEventArgs.cs
- Asn1IntegerConverter.cs
- RegisteredDisposeScript.cs
- TextSchema.cs
- TargetException.cs
- SimpleTextLine.cs
- X509Extension.cs
- FilterableData.cs
- StylusShape.cs
- RoleManagerModule.cs
- FormatException.cs
- DataGrid.cs
- FragmentNavigationEventArgs.cs
- HtmlInputFile.cs
- DataBoundControlHelper.cs
- QuaternionAnimationBase.cs
- NetworkStream.cs
- RuntimeHelpers.cs
- CustomErrorCollection.cs
- HitTestParameters3D.cs
- CompositeActivityDesigner.cs
- RecordBuilder.cs
- ExpressionSelection.cs
- ImageList.cs
- BitmapScalingModeValidation.cs
- HttpTransportElement.cs
- OletxTransactionFormatter.cs
- LicenseException.cs
- Debug.cs
- InputDevice.cs
- FixedDocumentPaginator.cs
- ServicesUtilities.cs
- DummyDataSource.cs
- DataSourceCacheDurationConverter.cs
- DefaultWorkflowLoaderService.cs
- FixedSOMTableCell.cs
- Attributes.cs
- ListBase.cs
- SplashScreenNativeMethods.cs
- HostedController.cs
- Exception.cs
- CodeSnippetCompileUnit.cs
- Comparer.cs
- MediaSystem.cs
- UIntPtr.cs
- StopStoryboard.cs
- MessageQueueCriteria.cs
- QuerySettings.cs
- ProviderCommandInfoUtils.cs
- FastPropertyAccessor.cs
- OleDbFactory.cs
- ContentValidator.cs
- RectAnimationClockResource.cs
- ScaleTransform3D.cs
- BatchWriter.cs
- HostingEnvironmentException.cs
- SubMenuStyleCollectionEditor.cs
- Int32RectValueSerializer.cs
- SubMenuStyleCollection.cs
- BooleanToVisibilityConverter.cs
- StringArrayConverter.cs
- GridViewRowPresenter.cs
- ScriptResourceAttribute.cs
- HttpClientCertificate.cs
- InputBuffer.cs
- XpsSerializerFactory.cs
- ColorContext.cs
- TraceHandlerErrorFormatter.cs
- TypedReference.cs
- CodeTypeParameterCollection.cs
- DispatchOperationRuntime.cs
- ObjectTag.cs
- FlowDocumentReaderAutomationPeer.cs
- Double.cs
- UInt32.cs
- SqlConnectionHelper.cs
- OrderedDictionary.cs
- Operator.cs
- CompositeActivityCodeGenerator.cs
- MessageBox.cs
- COM2ColorConverter.cs
- PointConverter.cs
- VersionedStream.cs
- Line.cs
- documentation.cs
- IChannel.cs
- QuadraticBezierSegment.cs
- ObjectDataSourceView.cs
- XmlAttributeOverrides.cs
- WindowsPrincipal.cs
- XmlSequenceWriter.cs
- XmlAttributeOverrides.cs
- AssemblyBuilderData.cs
- FixUpCollection.cs
- AspProxy.cs
- Executor.cs
- DeleteIndexBinder.cs
- BroadcastEventHelper.cs
- HasCopySemanticsAttribute.cs