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
- CodeCommentStatement.cs
- CngAlgorithmGroup.cs
- UpDownBaseDesigner.cs
- DetailsViewDeleteEventArgs.cs
- SqlClientPermission.cs
- SafeNativeMethods.cs
- IteratorFilter.cs
- MsmqProcessProtocolHandler.cs
- GeneralTransform3DGroup.cs
- DbDeleteCommandTree.cs
- CustomAssemblyResolver.cs
- CustomAttribute.cs
- TemplateControl.cs
- RepeatInfo.cs
- RedistVersionInfo.cs
- SamlSecurityToken.cs
- DrawListViewSubItemEventArgs.cs
- GlyphRunDrawing.cs
- ExtensionMethods.cs
- GenericUriParser.cs
- serverconfig.cs
- CommandEventArgs.cs
- Attachment.cs
- Int32RectValueSerializer.cs
- WindowsTitleBar.cs
- AnnotationComponentChooser.cs
- GeneralTransformGroup.cs
- MouseGesture.cs
- TrackingMemoryStream.cs
- CopyNodeSetAction.cs
- SoapIncludeAttribute.cs
- ExceptionUtil.cs
- SQLByte.cs
- ZipIOExtraFieldElement.cs
- XmlAnyElementAttributes.cs
- MsmqTransportReceiveParameters.cs
- WorkItem.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- NamedObject.cs
- NamespaceInfo.cs
- DeclaredTypeElementCollection.cs
- ListCollectionView.cs
- DescendentsWalker.cs
- TextBoxAutoCompleteSourceConverter.cs
- OrderedDictionaryStateHelper.cs
- XmlSchemaObject.cs
- LOSFormatter.cs
- WebPartDisplayModeCancelEventArgs.cs
- peernodeimplementation.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- BindingBase.cs
- GiveFeedbackEventArgs.cs
- PopOutPanel.cs
- UnescapedXmlDiagnosticData.cs
- MatrixAnimationBase.cs
- TaskCanceledException.cs
- SafeNativeMethods.cs
- AppDomainGrammarProxy.cs
- XmlAnyAttributeAttribute.cs
- Internal.cs
- AccessorTable.cs
- WindowsNonControl.cs
- AsyncPostBackErrorEventArgs.cs
- AlignmentYValidation.cs
- StopStoryboard.cs
- ToolStripArrowRenderEventArgs.cs
- Vars.cs
- OdbcConnectionStringbuilder.cs
- FrugalList.cs
- Convert.cs
- UserNameSecurityToken.cs
- ConcatQueryOperator.cs
- SkinBuilder.cs
- StsCommunicationException.cs
- dataprotectionpermissionattribute.cs
- MessageDecoder.cs
- Model3DCollection.cs
- DispatcherSynchronizationContext.cs
- BindingSourceDesigner.cs
- SmuggledIUnknown.cs
- IndexedEnumerable.cs
- SerializationFieldInfo.cs
- DataListCommandEventArgs.cs
- ToolTipService.cs
- AccessorTable.cs
- MD5HashHelper.cs
- NotImplementedException.cs
- IntSecurity.cs
- XmlAttributeAttribute.cs
- TextEffectResolver.cs
- ParameterElementCollection.cs
- FixedElement.cs
- safemediahandle.cs
- HyperLinkField.cs
- TemplateLookupAction.cs
- WebPartTransformerAttribute.cs
- DefaultValueTypeConverter.cs
- EncodingTable.cs
- AssociationType.cs
- x509utils.cs