Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- RegexCaptureCollection.cs
- ReachSerializationUtils.cs
- QueryOpeningEnumerator.cs
- RefreshEventArgs.cs
- ProxyWebPart.cs
- PathGeometry.cs
- Int32Storage.cs
- SudsWriter.cs
- ReferenceEqualityComparer.cs
- Container.cs
- _KerberosClient.cs
- IgnoreFileBuildProvider.cs
- RegularExpressionValidator.cs
- TraceHwndHost.cs
- EventLog.cs
- FilePrompt.cs
- QuaternionKeyFrameCollection.cs
- TheQuery.cs
- StandardOleMarshalObject.cs
- UIPropertyMetadata.cs
- ArrayList.cs
- VirtualDirectoryMapping.cs
- SqlProcedureAttribute.cs
- FrameworkContextData.cs
- InputReport.cs
- ServiceBuildProvider.cs
- WindowPatternIdentifiers.cs
- ScrollItemPattern.cs
- CodeSnippetExpression.cs
- BamlLocalizableResourceKey.cs
- SqlFileStream.cs
- DBSchemaRow.cs
- DragSelectionMessageFilter.cs
- TextServicesLoader.cs
- DocumentViewer.cs
- WinFormsUtils.cs
- ZipPackagePart.cs
- GridToolTip.cs
- RegexNode.cs
- HwndSourceKeyboardInputSite.cs
- LinkDesigner.cs
- NullableLongAverageAggregationOperator.cs
- XamlReader.cs
- _KerberosClient.cs
- DoubleStorage.cs
- EncryptedPackage.cs
- PrimitiveXmlSerializers.cs
- Pen.cs
- SqlRowUpdatingEvent.cs
- TdsParserStateObject.cs
- ReachFixedDocumentSerializerAsync.cs
- PersonalizationProvider.cs
- TextHintingModeValidation.cs
- WrappedReader.cs
- UInt32Converter.cs
- ZipIORawDataFileBlock.cs
- XmlBoundElement.cs
- RepeaterItemEventArgs.cs
- Oid.cs
- StateMachineWorkflowInstance.cs
- X509CertificateCollection.cs
- CheckBox.cs
- Size3DValueSerializer.cs
- EncryptedData.cs
- DictationGrammar.cs
- WindowsEditBox.cs
- isolationinterop.cs
- PTUtility.cs
- DelegateBodyWriter.cs
- BuilderPropertyEntry.cs
- EmptyTextWriter.cs
- AppendHelper.cs
- ShutDownListener.cs
- WizardDesigner.cs
- CaretElement.cs
- ControlParameter.cs
- Binding.cs
- Cursor.cs
- ScriptResourceAttribute.cs
- Marshal.cs
- NavigationEventArgs.cs
- ServiceThrottlingBehavior.cs
- DesignerAttributeInfo.cs
- ScrollData.cs
- Parameter.cs
- WaitHandle.cs
- WindowsHyperlink.cs
- CompilerHelpers.cs
- TabControl.cs
- NetMsmqSecurity.cs
- EventProviderWriter.cs
- StaticExtension.cs
- ConnectionOrientedTransportBindingElement.cs
- ThicknessKeyFrameCollection.cs
- XamlRtfConverter.cs
- TraceListener.cs
- XmlEventCache.cs
- TextMetrics.cs
- VectorConverter.cs
- ListenerBinder.cs