Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / InterOp / Imaging.cs / 2 / 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
- ConsumerConnectionPointCollection.cs
- WebPartConnection.cs
- DocumentViewer.cs
- ProfileServiceManager.cs
- WebPartDesigner.cs
- SpanIndex.cs
- CommonObjectSecurity.cs
- WindowsAuthenticationModule.cs
- SyndicationSerializer.cs
- Journaling.cs
- ImageClickEventArgs.cs
- Emitter.cs
- X509SecurityTokenAuthenticator.cs
- XPathDocumentBuilder.cs
- ConsoleCancelEventArgs.cs
- BooleanSwitch.cs
- GridViewAutomationPeer.cs
- XmlValueConverter.cs
- ThreadNeutralSemaphore.cs
- PeerObject.cs
- TransactionContextValidator.cs
- SchemaCollectionPreprocessor.cs
- BitConverter.cs
- Attributes.cs
- WindowsSpinner.cs
- WorkflowValidationFailedException.cs
- MarkedHighlightComponent.cs
- XmlBoundElement.cs
- CommittableTransaction.cs
- _HeaderInfo.cs
- Nullable.cs
- RunClient.cs
- InternalConfigEventArgs.cs
- ErrorWebPart.cs
- XmlSchemaGroup.cs
- PeerCustomResolverSettings.cs
- SqlUDTStorage.cs
- ReliableMessagingVersion.cs
- Vector3DAnimationBase.cs
- XPathPatternBuilder.cs
- FormsAuthenticationUserCollection.cs
- cookie.cs
- FixUp.cs
- WrapPanel.cs
- SqlClientPermission.cs
- EmptyCollection.cs
- MsmqAppDomainProtocolHandler.cs
- ReplacementText.cs
- XamlToRtfParser.cs
- DataSet.cs
- ReachSerializationCacheItems.cs
- ObjectList.cs
- GB18030Encoding.cs
- XmlIncludeAttribute.cs
- InteropAutomationProvider.cs
- ProxySimple.cs
- LinqDataSourceUpdateEventArgs.cs
- TextTreeDeleteContentUndoUnit.cs
- DataGridViewCellValueEventArgs.cs
- CacheMemory.cs
- DataGridViewLayoutData.cs
- CombinedGeometry.cs
- ControlOperationInvoker.cs
- Certificate.cs
- Viewport3DAutomationPeer.cs
- ObjectComplexPropertyMapping.cs
- GeneralTransform3DGroup.cs
- NativeMethods.cs
- DBParameter.cs
- GeometryHitTestResult.cs
- EntityClientCacheEntry.cs
- Wildcard.cs
- InheritanceAttribute.cs
- InputScopeNameConverter.cs
- HwndStylusInputProvider.cs
- HideDisabledControlAdapter.cs
- CaretElement.cs
- CmsInterop.cs
- DefaultCommandConverter.cs
- DataSetMappper.cs
- SelfSignedCertificate.cs
- RootContext.cs
- ModelFactory.cs
- ModelService.cs
- SystemResourceHost.cs
- EntityException.cs
- LabelDesigner.cs
- Int32Storage.cs
- XmlDataProvider.cs
- NamedPipeProcessProtocolHandler.cs
- XmlSerializer.cs
- PhysicalOps.cs
- DataGridTextBoxColumn.cs
- WaitForChangedResult.cs
- UIServiceHelper.cs
- ListViewItem.cs
- CqlLexerHelpers.cs
- PolyBezierSegment.cs
- ObjectDataSourceEventArgs.cs
- ConfigXmlElement.cs