Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Media / Imaging / UnmanagedBitmapWrapper.cs / 1 / UnmanagedBitmapWrapper.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation. All Rights Reserved. // // File: UnmanagedBitmapWrapper.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using MS.Internal; using MS.Win32.PresentationCore; using System.Security; using System.Security.Permissions; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; using System.Windows; using System.Windows.Media.Animation; using System.Windows.Media.Composition; using MS.Internal.PresentationCore; using SR = MS.Internal.PresentationCore.SR; using SRID = MS.Internal.PresentationCore.SRID; namespace System.Windows.Media.Imaging { internal sealed class UnmanagedBitmapWrapper : System.Windows.Media.Imaging.BitmapSource { ////// Critical - calls critical code method BitmapSource.UpdateCachedSettings /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] public UnmanagedBitmapWrapper(BitmapSourceSafeMILHandle bitmapSource) : base(true) { _bitmapInit.BeginInit(); bitmapSource.CalculateSize(); WicSourceHandle = bitmapSource; _bitmapInit.EndInit(); UpdateCachedSettings(); } #region Protected Methods ////// Critical - eventually access'es critical resources (_wicSource) /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] internal UnmanagedBitmapWrapper(bool initialize) : base(true) { // Call BeginInit and EndInit if initialize is true. if (initialize) { _bitmapInit.BeginInit(); _bitmapInit.EndInit(); } } ////// Critical - calls critical code method BitmapSource.UpdateCachedSettings /// TreatAsSafe - all inputs are checked /// [SecurityCritical, SecurityTreatAsSafe] internal void UpdateBitmapSource(BitmapSource bitmapSource, DUCE.Channel channel) { WicSourceHandle = bitmapSource.WicSourceHandle; UpdateCachedSettings(); _needsUpdate = true; UpdateResource(channel, true /* skip "on channel" check - we already know that we're on channel */ ); } ////// Implementation of protected override Freezable CreateInstanceCore() { return new UnmanagedBitmapWrapper(false); } private void CopyCommon(UnmanagedBitmapWrapper sourceBitmap) { _bitmapInit.BeginInit(); _bitmapInit.EndInit(); } ///Freezable.CreateInstanceCore . ////// Implementation of protected override void CloneCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.CloneCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.CloneCore . ////// Implementation of protected override void CloneCurrentValueCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.CloneCurrentValueCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.CloneCurrentValueCore . ////// Implementation of protected override void GetAsFrozenCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.GetAsFrozenCore(sourceFreezable); CopyCommon(sourceBitmap); } ///Freezable.GetAsFrozenCore . ////// Implementation of protected override void GetCurrentValueAsFrozenCore(Freezable sourceFreezable) { UnmanagedBitmapWrapper sourceBitmap = (UnmanagedBitmapWrapper)sourceFreezable; base.GetCurrentValueAsFrozenCore(sourceFreezable); CopyCommon(sourceBitmap); } #endregion } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.Freezable.GetCurrentValueAsFrozenCore . ///
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HttpBrowserCapabilitiesWrapper.cs
- RowCache.cs
- TypeEnumerableViewSchema.cs
- ControlType.cs
- StructuredType.cs
- CodeCatchClause.cs
- DataTableClearEvent.cs
- RightsManagementLicense.cs
- ConnectionConsumerAttribute.cs
- MailAddressParser.cs
- SelectionRangeConverter.cs
- ErrorProvider.cs
- DataGridViewRow.cs
- _HelperAsyncResults.cs
- SqlGenericUtil.cs
- TableLayoutPanelDesigner.cs
- CollectionView.cs
- FileAuthorizationModule.cs
- DeviceSpecificDialogCachedState.cs
- HandledEventArgs.cs
- Environment.cs
- XmlEnumAttribute.cs
- SiteMapNodeItemEventArgs.cs
- XamlBrushSerializer.cs
- AssociatedControlConverter.cs
- XamlClipboardData.cs
- EncoderFallback.cs
- DataGridState.cs
- Size3DValueSerializer.cs
- PassportAuthenticationModule.cs
- DesignerTransaction.cs
- UIElement3D.cs
- QuotedPrintableStream.cs
- _WebProxyDataBuilder.cs
- webbrowsersite.cs
- PieceDirectory.cs
- ObjectComplexPropertyMapping.cs
- TabletCollection.cs
- TemplatePartAttribute.cs
- dsa.cs
- AbandonedMutexException.cs
- ObjectStorage.cs
- RootBrowserWindowProxy.cs
- Span.cs
- UnconditionalPolicy.cs
- MimeParameterWriter.cs
- MetadataItemSerializer.cs
- CompilerResults.cs
- PropertyNames.cs
- odbcmetadatacollectionnames.cs
- SkinBuilder.cs
- ItemContainerProviderWrapper.cs
- XmlEncoding.cs
- TypeDescriptionProviderAttribute.cs
- OleDbStruct.cs
- ProcessThread.cs
- UniqueEventHelper.cs
- TextBlock.cs
- SuspendDesigner.cs
- SqlServices.cs
- UserControlAutomationPeer.cs
- TypeConverterHelper.cs
- UpdatePanelControlTrigger.cs
- ItemAutomationPeer.cs
- WebPartZone.cs
- Operators.cs
- DataGridViewCellStyle.cs
- WindowsFormsHostAutomationPeer.cs
- TileModeValidation.cs
- FontFamily.cs
- TextEndOfParagraph.cs
- StylusDownEventArgs.cs
- TypefaceCollection.cs
- DragDrop.cs
- XPathDocumentNavigator.cs
- FormClosingEvent.cs
- MultitargetingHelpers.cs
- HtmlValidatorAdapter.cs
- EntityDataSourceUtil.cs
- FileLevelControlBuilderAttribute.cs
- SettingsPropertyIsReadOnlyException.cs
- ExpressionNormalizer.cs
- ConstructorExpr.cs
- ExtendedPropertyCollection.cs
- NonNullItemCollection.cs
- IPPacketInformation.cs
- DataGridCellInfo.cs
- PieceNameHelper.cs
- SingleConverter.cs
- FrameworkContextData.cs
- TextPointer.cs
- EnumBuilder.cs
- OptimalTextSource.cs
- Interop.cs
- LoginUtil.cs
- ItemCheckedEvent.cs
- ZoneMembershipCondition.cs
- SqlCacheDependencyDatabase.cs
- SerializationIncompleteException.cs
- ColumnTypeConverter.cs