Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / InterOp / Imaging.cs / 1 / 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: dwaynen (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: dwaynen (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
- PrimitiveSchema.cs
- ScrollItemPattern.cs
- ForeignConstraint.cs
- recordstatescratchpad.cs
- ViewCellRelation.cs
- SqlServer2KCompatibilityAnnotation.cs
- ItemsControl.cs
- Point4D.cs
- NativeMethods.cs
- QilXmlReader.cs
- XPathNodeList.cs
- WsdlBuildProvider.cs
- DetailsViewModeEventArgs.cs
- GlobalizationSection.cs
- webeventbuffer.cs
- Selection.cs
- ChannelHandler.cs
- Stack.cs
- ItemsControlAutomationPeer.cs
- BuildProviderCollection.cs
- PoisonMessageException.cs
- CellTreeNode.cs
- Size3D.cs
- SafeNativeMethods.cs
- SmiEventSink_Default.cs
- FileEnumerator.cs
- SizeChangedEventArgs.cs
- PhoneCall.cs
- XhtmlBasicPanelAdapter.cs
- TdsParameterSetter.cs
- TabletDeviceInfo.cs
- ConstructorNeedsTagAttribute.cs
- Int16Storage.cs
- RegexCompilationInfo.cs
- WebHttpSecurityElement.cs
- TransformConverter.cs
- StickyNoteHelper.cs
- FileCodeGroup.cs
- WsatServiceCertificate.cs
- WrappedKeySecurityToken.cs
- Label.cs
- PrintDialogException.cs
- RtfControlWordInfo.cs
- DataGridGeneralPage.cs
- HttpTransportSecurityElement.cs
- SoapSchemaMember.cs
- ReachDocumentSequenceSerializer.cs
- DependencyPropertyKind.cs
- StylusPointPropertyInfo.cs
- SourceFileBuildProvider.cs
- Control.cs
- SystemFonts.cs
- TreeNode.cs
- DoubleLink.cs
- BinaryCommonClasses.cs
- IdentityManager.cs
- ToolZone.cs
- FlowLayoutSettings.cs
- XPathDocument.cs
- StorageTypeMapping.cs
- WindowsGraphicsCacheManager.cs
- EventLogSession.cs
- FixedDSBuilder.cs
- PasswordRecovery.cs
- ExternalException.cs
- Listbox.cs
- Point3DAnimationBase.cs
- EncryptedKeyIdentifierClause.cs
- RootAction.cs
- XmlSchemaObjectTable.cs
- SplineQuaternionKeyFrame.cs
- EngineSite.cs
- CollaborationHelperFunctions.cs
- ContactManager.cs
- DataKey.cs
- UniqueEventHelper.cs
- ZeroOpNode.cs
- ApplicationTrust.cs
- EmptyEnumerator.cs
- uribuilder.cs
- DocumentApplicationJournalEntryEventArgs.cs
- SecurityDescriptor.cs
- SystemNetHelpers.cs
- TemplateKey.cs
- CompiledXpathExpr.cs
- DockProviderWrapper.cs
- GroupItem.cs
- PointConverter.cs
- DataRelationPropertyDescriptor.cs
- TaiwanLunisolarCalendar.cs
- _NTAuthentication.cs
- StandardCommandToolStripMenuItem.cs
- DelegateHelpers.Generated.cs
- Exception.cs
- ColorMap.cs
- DATA_BLOB.cs
- AccessControlList.cs
- DefaultTextStoreTextComposition.cs
- URLMembershipCondition.cs
- ThicknessAnimationBase.cs