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
- Matrix3DConverter.cs
- Trace.cs
- _DomainName.cs
- MetaData.cs
- TreeNodeStyle.cs
- DocumentCollection.cs
- CompositeFontParser.cs
- SequenceDesigner.cs
- Odbc32.cs
- ProfessionalColors.cs
- PageCache.cs
- CompressionTransform.cs
- CodeTypeMember.cs
- EnumUnknown.cs
- Point3DAnimationBase.cs
- EntryPointNotFoundException.cs
- ReliableSession.cs
- PeerResolver.cs
- TemplateBindingExpression.cs
- ValidationErrorEventArgs.cs
- CustomActivityDesigner.cs
- FixedHighlight.cs
- UnsafeNetInfoNativeMethods.cs
- MimeTypePropertyAttribute.cs
- Utils.cs
- HttpConfigurationContext.cs
- EdmSchemaError.cs
- AsymmetricAlgorithm.cs
- WorkflowQueueInfo.cs
- CheckedListBox.cs
- ValidationRule.cs
- RawStylusInput.cs
- VisualProxy.cs
- OdbcException.cs
- RadioButtonRenderer.cs
- UserValidatedEventArgs.cs
- DesignerCommandSet.cs
- ThreadStaticAttribute.cs
- TextServicesHost.cs
- ComplexObject.cs
- MaskedTextProvider.cs
- CollectionEditVerbManager.cs
- RoutedEventValueSerializer.cs
- Msec.cs
- ArithmeticException.cs
- ParagraphResult.cs
- MouseEventArgs.cs
- AdornerLayer.cs
- SystemWebSectionGroup.cs
- Int16.cs
- Point3DValueSerializer.cs
- ControlPersister.cs
- QilValidationVisitor.cs
- ColorAnimationBase.cs
- DataColumn.cs
- StateFinalizationActivity.cs
- EntityAdapter.cs
- ToolStripSeparatorRenderEventArgs.cs
- MenuScrollingVisibilityConverter.cs
- FormatConvertedBitmap.cs
- infer.cs
- Substitution.cs
- CompareValidator.cs
- Stylesheet.cs
- SafeWaitHandle.cs
- WrapPanel.cs
- SqlBooleanizer.cs
- Menu.cs
- IPHostEntry.cs
- RawStylusInputReport.cs
- XmlQualifiedNameTest.cs
- DbXmlEnabledProviderManifest.cs
- FontFamilyValueSerializer.cs
- ExpandSegment.cs
- formatter.cs
- PartitionedStreamMerger.cs
- WebReferencesBuildProvider.cs
- WebExceptionStatus.cs
- Policy.cs
- MailMessage.cs
- TextContainer.cs
- CombinedGeometry.cs
- PageThemeCodeDomTreeGenerator.cs
- LinkGrep.cs
- OutputScopeManager.cs
- assemblycache.cs
- ToolStripGripRenderEventArgs.cs
- TagPrefixInfo.cs
- SrgsToken.cs
- PromptBuilder.cs
- DelegatingStream.cs
- WeakReferenceKey.cs
- TypedLocationWrapper.cs
- TerminateSequence.cs
- RemoteDebugger.cs
- ValidationHelpers.cs
- _emptywebproxy.cs
- RegionData.cs
- Publisher.cs
- RenderingBiasValidation.cs