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
- InputBindingCollection.cs
- ScriptMethodAttribute.cs
- ProjectionNode.cs
- GPPOINTF.cs
- FormatException.cs
- SqlConnectionPoolGroupProviderInfo.cs
- ImmutableObjectAttribute.cs
- HttpProfileGroupBase.cs
- DataFormats.cs
- DataGridClipboardHelper.cs
- DrawingVisual.cs
- Semaphore.cs
- EntityConnectionStringBuilderItem.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- ObjectDataSource.cs
- RegexCompilationInfo.cs
- Sequence.cs
- ReadContentAsBinaryHelper.cs
- HttpRuntimeSection.cs
- TdsParserStaticMethods.cs
- SqlNode.cs
- wgx_commands.cs
- XPathNavigatorReader.cs
- Point3DCollectionValueSerializer.cs
- TdsParserSessionPool.cs
- Config.cs
- TableSectionStyle.cs
- AtlasWeb.Designer.cs
- dbenumerator.cs
- ImmComposition.cs
- WindowsToolbar.cs
- SessionIDManager.cs
- SQLBytes.cs
- MultipleViewProviderWrapper.cs
- OutKeywords.cs
- Int32Storage.cs
- DataServices.cs
- ExpressionBindings.cs
- MultipleViewPattern.cs
- ConsumerConnectionPointCollection.cs
- CategoryNameCollection.cs
- QuaternionAnimationBase.cs
- RuntimeHandles.cs
- Point.cs
- DSASignatureDeformatter.cs
- Subtree.cs
- QilScopedVisitor.cs
- comcontractssection.cs
- ParentControlDesigner.cs
- TemplateParser.cs
- ArrayElementGridEntry.cs
- UrlPath.cs
- WebPartConnectionsCloseVerb.cs
- Button.cs
- Int32Storage.cs
- AccessorTable.cs
- FamilyTypeface.cs
- PersonalizationProvider.cs
- ByteKeyFrameCollection.cs
- mactripleDES.cs
- ViewManager.cs
- CurrencyWrapper.cs
- __ComObject.cs
- GridItemPattern.cs
- DelayedRegex.cs
- TranslateTransform3D.cs
- HeaderedItemsControl.cs
- CalendarData.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- CompareValidator.cs
- DocumentViewerBase.cs
- GeometryHitTestParameters.cs
- BooleanAnimationUsingKeyFrames.cs
- RawStylusInput.cs
- SqlNodeTypeOperators.cs
- PreviewPageInfo.cs
- RSAProtectedConfigurationProvider.cs
- SqlCaseSimplifier.cs
- TranslateTransform3D.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- WindowsListViewItemCheckBox.cs
- HtmlTernaryTree.cs
- AncillaryOps.cs
- ExpandCollapseProviderWrapper.cs
- Positioning.cs
- InheritanceAttribute.cs
- FixedSOMElement.cs
- TdsParserHelperClasses.cs
- GPRECTF.cs
- Repeater.cs
- FixedSOMTableCell.cs
- Scene3D.cs
- IntSecurity.cs
- CookielessHelper.cs
- GACMembershipCondition.cs
- ExpandSegment.cs
- CachedTypeface.cs
- Border.cs
- MetaType.cs
- BinarySecretSecurityToken.cs