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
- VisualStateGroup.cs
- hwndwrapper.cs
- XmlEntity.cs
- OleDbPermission.cs
- ServiceContractListItemList.cs
- IInstanceTable.cs
- ArrangedElementCollection.cs
- x509utils.cs
- AddInAdapter.cs
- ApplicationSecurityManager.cs
- ElementsClipboardData.cs
- BamlRecordWriter.cs
- RelationshipSet.cs
- UserUseLicenseDictionaryLoader.cs
- AutomationElementIdentifiers.cs
- ConstructorExpr.cs
- AccessControlList.cs
- Set.cs
- SymLanguageType.cs
- TabControl.cs
- SimpleRecyclingCache.cs
- Schema.cs
- ColorContextHelper.cs
- SimpleRecyclingCache.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- _AutoWebProxyScriptWrapper.cs
- XmlSerializerVersionAttribute.cs
- NamespaceDisplay.xaml.cs
- BinaryNode.cs
- SelectionWordBreaker.cs
- MasterPageParser.cs
- ProviderSettingsCollection.cs
- BufferModeSettings.cs
- ApplicationProxyInternal.cs
- ModelEditingScope.cs
- DecimalStorage.cs
- HttpResponse.cs
- WmlTextViewAdapter.cs
- LoadItemsEventArgs.cs
- IncomingWebRequestContext.cs
- EventLogPermission.cs
- OrderByBuilder.cs
- ProfilePropertySettings.cs
- MediaElementAutomationPeer.cs
- FastPropertyAccessor.cs
- BridgeDataRecord.cs
- EventLogWatcher.cs
- RuntimeCompatibilityAttribute.cs
- MgmtResManager.cs
- XmlElementAttributes.cs
- AutoGeneratedField.cs
- Int32AnimationUsingKeyFrames.cs
- EventDescriptor.cs
- RunInstallerAttribute.cs
- PartialCachingControl.cs
- TagMapCollection.cs
- DataGridViewRow.cs
- exports.cs
- WebBrowserSiteBase.cs
- ItemsControl.cs
- AudioLevelUpdatedEventArgs.cs
- DbLambda.cs
- WebPartCancelEventArgs.cs
- SortKey.cs
- Quad.cs
- Int32AnimationUsingKeyFrames.cs
- OleDbParameter.cs
- ProbeMatchesApril2005.cs
- ListControl.cs
- DeferredElementTreeState.cs
- PeerDuplexChannel.cs
- AuthorizationSection.cs
- KnownBoxes.cs
- TTSEngineTypes.cs
- NameValuePair.cs
- LineProperties.cs
- ManagementObjectSearcher.cs
- LingerOption.cs
- ObjectToken.cs
- CollectionViewProxy.cs
- UserPersonalizationStateInfo.cs
- LocalBuilder.cs
- GeneralTransform.cs
- CorrelationService.cs
- FrameworkTextComposition.cs
- FilteredSchemaElementLookUpTable.cs
- EntityCommandDefinition.cs
- EditorPartChrome.cs
- ViewBase.cs
- CroppedBitmap.cs
- MultipleViewPattern.cs
- Comparer.cs
- PersonalizationStateInfo.cs
- MailDefinition.cs
- SerializerDescriptor.cs
- SchemaComplexType.cs
- Fonts.cs
- EntityCommandCompilationException.cs
- DataSpaceManager.cs
- EdmTypeAttribute.cs