Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / InterOp / Imaging.cs / 1305600 / 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
- SplitContainer.cs
- PermissionToken.cs
- RowCache.cs
- TokenBasedSetEnumerator.cs
- XmlRootAttribute.cs
- WmpBitmapDecoder.cs
- EventLogTraceListener.cs
- ViewValidator.cs
- ShimAsPublicXamlType.cs
- Converter.cs
- CroppedBitmap.cs
- DocumentReference.cs
- HttpApplication.cs
- CodeConstructor.cs
- CachedBitmap.cs
- CustomSignedXml.cs
- HwndTarget.cs
- PageTheme.cs
- EndpointInfo.cs
- OleDbPermission.cs
- FileReservationCollection.cs
- ReflectionHelper.cs
- UriGenerator.cs
- KeyPullup.cs
- UInt32.cs
- ExpressionVisitor.cs
- CodeLabeledStatement.cs
- __ComObject.cs
- ContextMenuAutomationPeer.cs
- ListViewAutomationPeer.cs
- GroupItem.cs
- OleDbEnumerator.cs
- ObjectAnimationBase.cs
- RenderDataDrawingContext.cs
- Assembly.cs
- HandlerMappingMemo.cs
- WorkflowServiceHostFactory.cs
- ObjectItemCachedAssemblyLoader.cs
- PreloadedPackages.cs
- DetailsViewPagerRow.cs
- Renderer.cs
- TreeView.cs
- ItemCheckEvent.cs
- TextParentUndoUnit.cs
- QilGeneratorEnv.cs
- DeclaredTypeElement.cs
- MimeBasePart.cs
- ListControlBoundActionList.cs
- AsyncResult.cs
- GrowingArray.cs
- OpenFileDialog.cs
- MDIControlStrip.cs
- LocatorPart.cs
- CheckPair.cs
- DecoderBestFitFallback.cs
- DrawListViewColumnHeaderEventArgs.cs
- Image.cs
- HandlerFactoryCache.cs
- ColorBlend.cs
- DateTimeSerializationSection.cs
- sqlinternaltransaction.cs
- RemoteWebConfigurationHostStream.cs
- NameTable.cs
- selecteditemcollection.cs
- DrawingContextDrawingContextWalker.cs
- latinshape.cs
- PageParser.cs
- StreamGeometryContext.cs
- PartitionResolver.cs
- ModelItemExtensions.cs
- XPathScanner.cs
- NamespaceList.cs
- CodeBinaryOperatorExpression.cs
- CacheModeConverter.cs
- Rule.cs
- StorageAssociationTypeMapping.cs
- TextEndOfParagraph.cs
- RepeaterCommandEventArgs.cs
- ToolBarTray.cs
- KeySplineConverter.cs
- DbProviderFactories.cs
- ContentPropertyAttribute.cs
- webeventbuffer.cs
- DbDataRecord.cs
- DecryptRequest.cs
- _OverlappedAsyncResult.cs
- CompilerState.cs
- HyperlinkAutomationPeer.cs
- HuffmanTree.cs
- DesignBindingConverter.cs
- BigInt.cs
- Pointer.cs
- SecuritySessionFilter.cs
- XPathParser.cs
- Oid.cs
- PersonalizationStateInfoCollection.cs
- AutomationPatternInfo.cs
- RelatedPropertyManager.cs
- MultiView.cs
- ScriptRegistrationManager.cs