Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / InterOp / Imaging.cs / 2 / 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: [....] (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
- XPathScanner.cs
- DataFormats.cs
- SafeIUnknown.cs
- SqlConnectionHelper.cs
- Columns.cs
- ElementNotAvailableException.cs
- FormsAuthenticationCredentials.cs
- MethodToken.cs
- SortExpressionBuilder.cs
- DSACryptoServiceProvider.cs
- MemoryFailPoint.cs
- ProxyWebPartManager.cs
- TdsParserHelperClasses.cs
- StylusLogic.cs
- DataGridViewRowStateChangedEventArgs.cs
- ContextMenuAutomationPeer.cs
- ITextView.cs
- TargetConverter.cs
- ISFClipboardData.cs
- Baml6ConstructorInfo.cs
- RemoteWebConfigurationHost.cs
- CharacterBuffer.cs
- FixedDocumentSequencePaginator.cs
- Positioning.cs
- XmlNodeChangedEventManager.cs
- SettingsPropertyIsReadOnlyException.cs
- RegionData.cs
- EventProviderWriter.cs
- SqlDataSourceCustomCommandEditor.cs
- NetNamedPipeBindingElement.cs
- base64Transforms.cs
- XmlSchemaAnyAttribute.cs
- BuiltInExpr.cs
- SerializableAttribute.cs
- AssemblyUtil.cs
- SafeNativeMethods.cs
- GeometryCollection.cs
- CapabilitiesRule.cs
- AdRotatorDesigner.cs
- PolicyException.cs
- BuiltInExpr.cs
- ManagementPath.cs
- StylusCaptureWithinProperty.cs
- RadioButtonRenderer.cs
- DesignerDataConnection.cs
- BamlRecordWriter.cs
- ErrorStyle.cs
- SystemIPInterfaceStatistics.cs
- KnownIds.cs
- FixedSOMTableCell.cs
- SqlUserDefinedTypeAttribute.cs
- GridViewColumnCollectionChangedEventArgs.cs
- FileEnumerator.cs
- WebBrowserNavigatingEventHandler.cs
- TranslateTransform.cs
- SupportsEventValidationAttribute.cs
- EntityDataSourceEntityTypeFilterItem.cs
- XmlUtil.cs
- SimpleWorkerRequest.cs
- HttpApplicationFactory.cs
- While.cs
- ServicesUtilities.cs
- HeaderUtility.cs
- BamlCollectionHolder.cs
- FixedStringLookup.cs
- WebPartEditorCancelVerb.cs
- Baml6ConstructorInfo.cs
- SmiSettersStream.cs
- XmlBinaryReaderSession.cs
- HashSet.cs
- DbProviderConfigurationHandler.cs
- DirectoryRedirect.cs
- AsmxEndpointPickerExtension.cs
- Point4D.cs
- DynamicDataRoute.cs
- DataControlFieldCollection.cs
- ClientScriptManager.cs
- RegionInfo.cs
- SettingsPropertyWrongTypeException.cs
- HttpWriter.cs
- MDIControlStrip.cs
- Int32Collection.cs
- BitArray.cs
- UrlPropertyAttribute.cs
- ProfessionalColors.cs
- ActivityBuilder.cs
- SoapIncludeAttribute.cs
- SetIterators.cs
- SystemNetHelpers.cs
- ServiceObjectContainer.cs
- ControlBindingsCollection.cs
- DocumentSchemaValidator.cs
- TriState.cs
- SqlClientWrapperSmiStream.cs
- XmlCDATASection.cs
- FixedSOMGroup.cs
- MailHeaderInfo.cs
- SingleAnimationBase.cs
- TailCallAnalyzer.cs
- DetailsViewUpdateEventArgs.cs