Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Media / Imaging / PngBitmapDecoder.cs / 1305600 / PngBitmapDecoder.cs
//------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved // // File: PngBitmapDecoder.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Security; using System.Security.Permissions; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using Microsoft.Win32.SafeHandles; using MS.Internal; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; namespace System.Windows.Media.Imaging { #region PngBitmapDecoder ////// The built-in Microsoft Png (Bitmap) Decoder. /// public sealed class PngBitmapDecoder : BitmapDecoder { ////// Don't allow construction of a decoder with no params /// private PngBitmapDecoder() { } ////// Create a PngBitmapDecoder given the Uri /// /// Uri to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Uri bitmapUri, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapUri, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// If this decoder cannot handle the bitmap stream, it will throw an exception. /// /// Stream to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Stream bitmapStream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapStream, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// Internal Constructor /// ////// Critical: Uses a SafeFileHandle, which is a SecurityCritical type (in v4). /// Calls SecurityCritical base class constructor. /// [SecurityCritical] internal PngBitmapDecoder( SafeMILHandle decoderHandle, BitmapDecoder decoder, Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, bool insertInDecoderCache, bool originalWritable, Stream uriStream, UnmanagedMemoryStream unmanagedMemoryStream, SafeFileHandle safeFilehandle ) : base(decoderHandle, decoder, baseUri, uri, stream, createOptions, cacheOption, insertInDecoderCache, originalWritable, uriStream, unmanagedMemoryStream, safeFilehandle) { } #region Internal Abstract /// Need to implement this to derive from the "sealed" object internal override void SealObject() { throw new NotImplementedException(); } #endregion } #endregion } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ // Microsoft Avalon // Copyright (c) Microsoft Corporation, All Rights Reserved // // File: PngBitmapDecoder.cs // //----------------------------------------------------------------------------- using System; using System.IO; using System.Collections; using System.Security; using System.Security.Permissions; using System.ComponentModel; using System.ComponentModel.Design.Serialization; using System.Reflection; using Microsoft.Win32.SafeHandles; using MS.Internal; using System.Diagnostics; using System.Windows.Media; using System.Globalization; using System.Runtime.InteropServices; namespace System.Windows.Media.Imaging { #region PngBitmapDecoder ////// The built-in Microsoft Png (Bitmap) Decoder. /// public sealed class PngBitmapDecoder : BitmapDecoder { ////// Don't allow construction of a decoder with no params /// private PngBitmapDecoder() { } ////// Create a PngBitmapDecoder given the Uri /// /// Uri to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Uri bitmapUri, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapUri, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// If this decoder cannot handle the bitmap stream, it will throw an exception. /// /// Stream to decode /// Bitmap Create Options /// Bitmap Caching Option ////// Critical - access critical resource /// PublicOK - inputs verified or safe /// [SecurityCritical ] public PngBitmapDecoder( Stream bitmapStream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption ) : base(bitmapStream, createOptions, cacheOption, MILGuidData.GUID_ContainerFormatPng) { } ////// Internal Constructor /// ////// Critical: Uses a SafeFileHandle, which is a SecurityCritical type (in v4). /// Calls SecurityCritical base class constructor. /// [SecurityCritical] internal PngBitmapDecoder( SafeMILHandle decoderHandle, BitmapDecoder decoder, Uri baseUri, Uri uri, Stream stream, BitmapCreateOptions createOptions, BitmapCacheOption cacheOption, bool insertInDecoderCache, bool originalWritable, Stream uriStream, UnmanagedMemoryStream unmanagedMemoryStream, SafeFileHandle safeFilehandle ) : base(decoderHandle, decoder, baseUri, uri, stream, createOptions, cacheOption, insertInDecoderCache, originalWritable, uriStream, unmanagedMemoryStream, safeFilehandle) { } #region Internal Abstract /// Need to implement this to derive from the "sealed" object internal override void SealObject() { throw new NotImplementedException(); } #endregion } #endregion } // 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
- StreamSecurityUpgradeAcceptorBase.cs
- CodeIndexerExpression.cs
- EpmSyndicationContentDeSerializer.cs
- DocumentSchemaValidator.cs
- _SecureChannel.cs
- PingOptions.cs
- AnimatedTypeHelpers.cs
- ConfigurationLocation.cs
- BamlResourceContent.cs
- FigureParaClient.cs
- KeyFrames.cs
- UnsafePeerToPeerMethods.cs
- AssemblyInfo.cs
- XmlQueryType.cs
- BamlLocalizableResourceKey.cs
- XmlBinaryWriter.cs
- TargetException.cs
- DelegateBodyWriter.cs
- BinaryParser.cs
- SqlDataSourceView.cs
- DecimalKeyFrameCollection.cs
- ColumnWidthChangedEvent.cs
- ElementsClipboardData.cs
- ThemeDirectoryCompiler.cs
- SystemIPInterfaceStatistics.cs
- RuleInfoComparer.cs
- DataBinder.cs
- MaskedTextBox.cs
- WindowsListViewGroup.cs
- XmlSchemaGroupRef.cs
- AnonymousIdentificationModule.cs
- Int16Animation.cs
- ScrollBarAutomationPeer.cs
- ASCIIEncoding.cs
- AdornerLayer.cs
- StringCollectionMarkupSerializer.cs
- nulltextcontainer.cs
- GridViewActionList.cs
- IdlingCommunicationPool.cs
- DataBoundLiteralControl.cs
- EventLogTraceListener.cs
- _CommandStream.cs
- XmlCustomFormatter.cs
- TableLayoutPanel.cs
- SspiSafeHandles.cs
- CaseInsensitiveHashCodeProvider.cs
- HttpDebugHandler.cs
- SerializableAttribute.cs
- TableLayoutPanelCellPosition.cs
- InvalidCommandTreeException.cs
- ConvertEvent.cs
- XmlSchemaInfo.cs
- KeyEventArgs.cs
- MachineSettingsSection.cs
- PhysicalFontFamily.cs
- BreadCrumbTextConverter.cs
- TraceSwitch.cs
- Button.cs
- UiaCoreApi.cs
- SchemaNotation.cs
- InstanceValue.cs
- UIElementPropertyUndoUnit.cs
- HashCodeCombiner.cs
- ImageMetadata.cs
- EnumValidator.cs
- BrowserCapabilitiesFactory35.cs
- SafeRightsManagementPubHandle.cs
- Help.cs
- Configuration.cs
- cryptoapiTransform.cs
- QilTernary.cs
- EditorPart.cs
- AbstractExpressions.cs
- RSAPKCS1SignatureFormatter.cs
- BulletedListEventArgs.cs
- PointLightBase.cs
- DefaultAsyncDataDispatcher.cs
- OutputCacheSection.cs
- NotFiniteNumberException.cs
- ListBoxItem.cs
- SmtpDigestAuthenticationModule.cs
- DrawingCollection.cs
- TextSimpleMarkerProperties.cs
- RotationValidation.cs
- DesignerCommandSet.cs
- DataGridViewDesigner.cs
- DigestTraceRecordHelper.cs
- RecognizerInfo.cs
- CatalogZoneDesigner.cs
- RouteParser.cs
- COAUTHINFO.cs
- DataBoundControlAdapter.cs
- ComponentRenameEvent.cs
- EqualityArray.cs
- FormClosingEvent.cs
- AtomicFile.cs
- TextBoxDesigner.cs
- DesignerToolboxInfo.cs
- CodeDelegateInvokeExpression.cs
- DependentList.cs