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
- DataGridViewCellErrorTextNeededEventArgs.cs
- TextEmbeddedObject.cs
- backend.cs
- EntityModelSchemaGenerator.cs
- MasterPageCodeDomTreeGenerator.cs
- MessageSmuggler.cs
- VisualStateManager.cs
- JapaneseCalendar.cs
- IisTraceWebEventProvider.cs
- Visual.cs
- MethodBody.cs
- CompilerTypeWithParams.cs
- GetWinFXPath.cs
- ProviderSettingsCollection.cs
- ReaderOutput.cs
- ClassHandlersStore.cs
- UInt32Converter.cs
- InternalConfirm.cs
- ConfigurationFileMap.cs
- GetIsBrowserClientRequest.cs
- KeyMatchBuilder.cs
- TypeReference.cs
- InputBinder.cs
- _NetRes.cs
- FloaterBaseParagraph.cs
- ThicknessAnimationBase.cs
- SafeSystemMetrics.cs
- ToolStripSeparatorRenderEventArgs.cs
- RunInstallerAttribute.cs
- TextTrailingWordEllipsis.cs
- Soap12FormatExtensions.cs
- ClientFormsIdentity.cs
- StreamGeometry.cs
- handlecollector.cs
- PingReply.cs
- COM2ExtendedUITypeEditor.cs
- ComponentResourceKey.cs
- XmlResolver.cs
- KnowledgeBase.cs
- UiaCoreApi.cs
- AuthenticationSchemesHelper.cs
- UserValidatedEventArgs.cs
- TreeNodeClickEventArgs.cs
- OdbcRowUpdatingEvent.cs
- TreeIterator.cs
- ReferentialConstraintRoleElement.cs
- SQLRoleProvider.cs
- XmlCustomFormatter.cs
- ArgumentElement.cs
- ItemChangedEventArgs.cs
- DoubleCollection.cs
- WrapPanel.cs
- NameNode.cs
- DefaultBindingPropertyAttribute.cs
- DetailsViewPagerRow.cs
- ListBoxItemWrapperAutomationPeer.cs
- NullableBoolConverter.cs
- DataSourceCacheDurationConverter.cs
- CheckPair.cs
- ProcessModelInfo.cs
- RuntimeVariableList.cs
- Win32MouseDevice.cs
- ShaderEffect.cs
- MenuTracker.cs
- PbrsForward.cs
- DisplayInformation.cs
- Calendar.cs
- AxHost.cs
- altserialization.cs
- SymmetricSecurityBindingElement.cs
- XmlDownloadManager.cs
- AsymmetricSignatureDeformatter.cs
- MatchAttribute.cs
- HttpErrorTraceRecord.cs
- DataListCommandEventArgs.cs
- BehaviorEditorPart.cs
- FileDataSourceCache.cs
- EntityCommandCompilationException.cs
- QueryOperatorEnumerator.cs
- BoolExpressionVisitors.cs
- RenderOptions.cs
- LocalizableAttribute.cs
- SqlMethodTransformer.cs
- XmlAttributeOverrides.cs
- MenuItemBindingCollection.cs
- XamlPoint3DCollectionSerializer.cs
- FrameworkElementFactory.cs
- ValueUtilsSmi.cs
- ValidationErrorCollection.cs
- DESCryptoServiceProvider.cs
- DoWorkEventArgs.cs
- TimeManager.cs
- TextCompositionEventArgs.cs
- DebugViewWriter.cs
- PermissionRequestEvidence.cs
- RootBrowserWindowProxy.cs
- formatstringdialog.cs
- Convert.cs
- ImplicitInputBrush.cs
- MessageQueueAccessControlEntry.cs