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
- basecomparevalidator.cs
- GraphicsPath.cs
- PseudoWebRequest.cs
- EntityCommandCompilationException.cs
- PlacementWorkspace.cs
- SafeEventLogWriteHandle.cs
- VBCodeProvider.cs
- HttpCachePolicy.cs
- ProviderCommandInfoUtils.cs
- SelectedDatesCollection.cs
- SmiMetaData.cs
- GeometryModel3D.cs
- MemberCollection.cs
- TemplateControlCodeDomTreeGenerator.cs
- SafeNativeMethods.cs
- Compilation.cs
- CreateWorkflowOwnerCommand.cs
- ListBox.cs
- DbConnectionFactory.cs
- SQLGuid.cs
- DataGridViewAddColumnDialog.cs
- BuildProviderCollection.cs
- DirectionalLight.cs
- DomainConstraint.cs
- DetailsViewPageEventArgs.cs
- BinaryObjectReader.cs
- AutomationTextAttribute.cs
- PrintingPermission.cs
- SymbolMethod.cs
- StrongNameKeyPair.cs
- SafeRightsManagementSessionHandle.cs
- TerminateSequence.cs
- ToolBarOverflowPanel.cs
- GlobalProxySelection.cs
- EmptyElement.cs
- MimeMapping.cs
- SystemIcmpV6Statistics.cs
- StaticExtensionConverter.cs
- DbDataReader.cs
- ValidationHelper.cs
- SHA256.cs
- GlyphRunDrawing.cs
- TypeDescriptionProviderAttribute.cs
- CodeEventReferenceExpression.cs
- Listbox.cs
- EventLogHandle.cs
- ProfileProvider.cs
- Function.cs
- UrlAuthorizationModule.cs
- LineInfo.cs
- DataGridLinkButton.cs
- CancelRequestedRecord.cs
- DocobjHost.cs
- StandardCommandToolStripMenuItem.cs
- Line.cs
- ErrorHandler.cs
- BaseAppDomainProtocolHandler.cs
- ConfigXmlReader.cs
- GlyphCache.cs
- TdsRecordBufferSetter.cs
- TracingConnection.cs
- BindableTemplateBuilder.cs
- CodeGenerator.cs
- SystemWebExtensionsSectionGroup.cs
- NativeMethods.cs
- IsolatedStorage.cs
- BlockExpression.cs
- CultureInfo.cs
- InternalPermissions.cs
- UnderstoodHeaders.cs
- ClientScriptManagerWrapper.cs
- FocusWithinProperty.cs
- Peer.cs
- AuthenticatedStream.cs
- CFStream.cs
- DataGridViewImageColumn.cs
- XmlDesignerDataSourceView.cs
- ScriptManager.cs
- SqlInfoMessageEvent.cs
- WeakEventTable.cs
- sapiproxy.cs
- SchemaNotation.cs
- EntityDescriptor.cs
- SqlConnectionHelper.cs
- NameNode.cs
- XmlEncodedRawTextWriter.cs
- Rect.cs
- RuleRefElement.cs
- ComboBoxItem.cs
- WsatConfiguration.cs
- DSGeneratorProblem.cs
- TextMarkerSource.cs
- SubclassTypeValidator.cs
- SelectionChangedEventArgs.cs
- PngBitmapEncoder.cs
- TokenBasedSetEnumerator.cs
- WizardPanelChangingEventArgs.cs
- DataGridViewSelectedRowCollection.cs
- ResourceSetExpression.cs
- GridItemCollection.cs