Code:
/ 4.0 / 4.0 / 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. //------------------------------------------------------------------------------ // 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
- ListParagraph.cs
- XamlValidatingReader.cs
- HandlerWithFactory.cs
- FormatSettings.cs
- InstanceLockQueryResult.cs
- WebPartsPersonalizationAuthorization.cs
- SwitchElementsCollection.cs
- HostedAspNetEnvironment.cs
- StreamingContext.cs
- DataFormat.cs
- IsolatedStorageFileStream.cs
- WebPartConnection.cs
- ProcessModelSection.cs
- MobileCategoryAttribute.cs
- TakeQueryOptionExpression.cs
- CalendarDateRangeChangingEventArgs.cs
- _CookieModule.cs
- WebSysDefaultValueAttribute.cs
- DesignSurfaceCollection.cs
- MetadataLocation.cs
- DescriptionAttribute.cs
- MemoryRecordBuffer.cs
- HwndSubclass.cs
- SelectionEditingBehavior.cs
- TreeNodeStyleCollectionEditor.cs
- EditableLabelControl.cs
- SqlPersonalizationProvider.cs
- HttpWriter.cs
- WizardForm.cs
- WindowsStatic.cs
- ResourcesChangeInfo.cs
- odbcmetadatafactory.cs
- WebRequestModulesSection.cs
- EntityContainerEmitter.cs
- CustomTokenProvider.cs
- DateTimeFormat.cs
- XhtmlTextWriter.cs
- EdmItemError.cs
- AtomicFile.cs
- ComponentChangingEvent.cs
- TrustManagerPromptUI.cs
- XhtmlBasicCommandAdapter.cs
- DataStreams.cs
- FigureParagraph.cs
- WindowsGraphicsCacheManager.cs
- GridViewDeleteEventArgs.cs
- MatrixTransform3D.cs
- BindingSource.cs
- Grant.cs
- ProxyElement.cs
- MenuEventArgs.cs
- PlaceHolder.cs
- PropertyBuilder.cs
- FontWeight.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- Container.cs
- DeviceSpecificChoiceCollection.cs
- FixedTextContainer.cs
- _BufferOffsetSize.cs
- SocketConnection.cs
- EventlogProvider.cs
- GridEntryCollection.cs
- BehaviorEditorPart.cs
- FormatSelectingMessageInspector.cs
- DataGridViewRowErrorTextNeededEventArgs.cs
- UInt32Converter.cs
- FixedMaxHeap.cs
- FileFormatException.cs
- DataShape.cs
- FontCacheUtil.cs
- StrokeCollection.cs
- TaskExtensions.cs
- Binding.cs
- XamlWriter.cs
- EditingScopeUndoUnit.cs
- CreateParams.cs
- SslStream.cs
- DataPager.cs
- DbProviderFactory.cs
- EntityCommandExecutionException.cs
- Viewport3DVisual.cs
- CodePageEncoding.cs
- COSERVERINFO.cs
- PropertyIDSet.cs
- ImageListUtils.cs
- ConfigUtil.cs
- SendSecurityHeaderElement.cs
- Scripts.cs
- StreamingContext.cs
- ApplicationActivator.cs
- ServiceReference.cs
- ComponentDispatcherThread.cs
- ZipIOExtraFieldPaddingElement.cs
- WrappedOptions.cs
- ImageSourceValueSerializer.cs
- ClaimSet.cs
- Size.cs
- XmlQualifiedName.cs
- Rectangle.cs
- XsltException.cs