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
- returneventsaver.cs
- VirtualPathProvider.cs
- ExceptionList.cs
- VirtualDirectoryMapping.cs
- EventData.cs
- IDReferencePropertyAttribute.cs
- ClrPerspective.cs
- NamespaceInfo.cs
- GridItem.cs
- Label.cs
- Lasso.cs
- CommonDialog.cs
- XmlSequenceWriter.cs
- QueryOperationResponseOfT.cs
- DbProviderSpecificTypePropertyAttribute.cs
- MappingSource.cs
- InputLanguageProfileNotifySink.cs
- PageCodeDomTreeGenerator.cs
- ProfilePropertySettings.cs
- InkCanvasSelectionAdorner.cs
- FrameworkElementFactoryMarkupObject.cs
- Utils.cs
- XPathNodePointer.cs
- SymbolType.cs
- AdditionalEntityFunctions.cs
- ReaderWriterLockWrapper.cs
- FrameworkTextComposition.cs
- RoleManagerModule.cs
- DataChangedEventManager.cs
- XmlLoader.cs
- AssemblyCache.cs
- InputReport.cs
- DefaultWorkflowSchedulerService.cs
- HashSet.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- PerformanceCounterTraceRecord.cs
- TrackBar.cs
- ObjectStateFormatter.cs
- CompiledXpathExpr.cs
- RolePrincipal.cs
- SecurityBindingElementImporter.cs
- CodePageUtils.cs
- RectangleHotSpot.cs
- OperandQuery.cs
- DoWorkEventArgs.cs
- VersionPair.cs
- OuterGlowBitmapEffect.cs
- SR.cs
- FontStretchConverter.cs
- VectorCollection.cs
- Transactions.cs
- ContainerFilterService.cs
- TransactionTable.cs
- ToolStripContentPanel.cs
- XmlLanguage.cs
- MatrixIndependentAnimationStorage.cs
- CellTreeNodeVisitors.cs
- CodeNamespaceImportCollection.cs
- OptimizerPatterns.cs
- DataGridViewButtonColumn.cs
- XMLSchema.cs
- Intellisense.cs
- DataSourceHelper.cs
- ArcSegment.cs
- Latin1Encoding.cs
- ImportCatalogPart.cs
- HandlerFactoryWrapper.cs
- Opcode.cs
- RectangleF.cs
- WindowsFormsHost.cs
- sqlcontext.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- XmlWrappingWriter.cs
- PackagePart.cs
- AutomationPeer.cs
- XmlnsDictionary.cs
- ReliableOutputSessionChannel.cs
- TimeSpanMinutesConverter.cs
- RawTextInputReport.cs
- BaseParser.cs
- EndpointNotFoundException.cs
- XslAst.cs
- WindowsStatusBar.cs
- NamespaceList.cs
- DataStreamFromComStream.cs
- CounterCreationData.cs
- MessageDecoder.cs
- AspNetSynchronizationContext.cs
- DocumentSequence.cs
- WorkflowElementDialogWindow.xaml.cs
- OutputCache.cs
- XmlElementAttributes.cs
- DataServiceCollectionOfT.cs
- FormViewInsertEventArgs.cs
- ViewBase.cs
- InvalidDataException.cs
- FixedTextBuilder.cs
- UserPreferenceChangedEventArgs.cs
- Size.cs
- DragEventArgs.cs