Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / MS / Internal / FontCache / ElementFactory.cs / 1 / ElementFactory.cs
//---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.IO; using System.Net; using System.Security; using MS.Internal.PresentationCore; // Since we disable PreSharp warnings in this file, we first need to disable warnings about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 // Disable PreSharp warning about empty catch bodies. // We have many situations in this file where the service needs to robust against external data, // and empty catch bodies allow for uniform error handling code paths. #pragma warning disable 6502 namespace MS.Internal.FontCache { ////// Critical - The class is used by the server to construct font cache elements. /// It is unaware of what method will be used to communicate the data to the server. /// [SecurityCritical(SecurityCriticalScope.Everything)] [FriendAccessAllowed] internal static class ElementFactory { ////// Creates an element from a miss report key. Checks for errors in element construction /// that could arise if either key or font file is corrupt. Returns the element if successful /// or null to indicate an error. /// internal static IFontCacheElement CreateElementFromKey(int type, CheckedPointer key) { try { switch (type) { case 2: return new FamilyCollection(key); case 3: return new FontFaceLayoutInfo(key); case 1: return new GlyphBitmapElement(key); case 4: return new GlyphPathElement(key); default: return null; } } catch (ArgumentOutOfRangeException) { // The cache element key is malformed. } catch (UriFormatException) { // Font file Uri is malformed. } catch (IOException) { // Font file doesn't exist or cannot be read due to an I/O error. } catch (UnauthorizedAccessException) { // Font file cannot be accessed by the service account. } catch (WebException) { //This error can happen if the miss report specifies a web address for the font file. //(This is not a subclass of I/O exception). } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //---------------------------------------------------------------------------- // // Copyright (c) Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Diagnostics; using System.IO; using System.Net; using System.Security; using MS.Internal.PresentationCore; // Since we disable PreSharp warnings in this file, we first need to disable warnings about unknown message numbers and unknown pragmas. #pragma warning disable 1634, 1691 // Disable PreSharp warning about empty catch bodies. // We have many situations in this file where the service needs to robust against external data, // and empty catch bodies allow for uniform error handling code paths. #pragma warning disable 6502 namespace MS.Internal.FontCache { ////// Critical - The class is used by the server to construct font cache elements. /// It is unaware of what method will be used to communicate the data to the server. /// [SecurityCritical(SecurityCriticalScope.Everything)] [FriendAccessAllowed] internal static class ElementFactory { ////// Creates an element from a miss report key. Checks for errors in element construction /// that could arise if either key or font file is corrupt. Returns the element if successful /// or null to indicate an error. /// internal static IFontCacheElement CreateElementFromKey(int type, CheckedPointer key) { try { switch (type) { case 2: return new FamilyCollection(key); case 3: return new FontFaceLayoutInfo(key); case 1: return new GlyphBitmapElement(key); case 4: return new GlyphPathElement(key); default: return null; } } catch (ArgumentOutOfRangeException) { // The cache element key is malformed. } catch (UriFormatException) { // Font file Uri is malformed. } catch (IOException) { // Font file doesn't exist or cannot be read due to an I/O error. } catch (UnauthorizedAccessException) { // Font file cannot be accessed by the service account. } catch (WebException) { //This error can happen if the miss report specifies a web address for the font file. //(This is not a subclass of I/O exception). } return null; } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ThreadPool.cs
- SystemIPInterfaceStatistics.cs
- TextElement.cs
- Baml2006Reader.cs
- SharedPerformanceCounter.cs
- PostBackTrigger.cs
- PathGradientBrush.cs
- StylusPointProperties.cs
- DefaultTraceListener.cs
- DataGridColumnFloatingHeader.cs
- SpecularMaterial.cs
- Compiler.cs
- RelatedImageListAttribute.cs
- PrintDialog.cs
- SchemaElementLookUpTableEnumerator.cs
- TextStore.cs
- QueryOperationResponseOfT.cs
- ValueTable.cs
- Lookup.cs
- DbSource.cs
- ColorTranslator.cs
- xml.cs
- Msec.cs
- listitem.cs
- Span.cs
- RenderDataDrawingContext.cs
- FormViewUpdateEventArgs.cs
- StackSpiller.Bindings.cs
- DocumentApplicationDocumentViewer.cs
- ToolBarOverflowPanel.cs
- AssociationEndMember.cs
- VirtualizingPanel.cs
- StrokeNodeEnumerator.cs
- ObjectViewListener.cs
- DSASignatureFormatter.cs
- HyperLinkStyle.cs
- EntityDataSourceReferenceGroup.cs
- MenuStrip.cs
- DataRowCollection.cs
- FormatException.cs
- XmlLoader.cs
- BuiltInExpr.cs
- VirtualDirectoryMapping.cs
- FlowDocumentPage.cs
- EndpointInstanceProvider.cs
- _ListenerResponseStream.cs
- SmiEventSink_DeferedProcessing.cs
- DataGridViewElement.cs
- SqlClientPermission.cs
- QilList.cs
- FramingEncoders.cs
- TaskResultSetter.cs
- PhysicalOps.cs
- WindowsAuthenticationModule.cs
- XmlBinaryReader.cs
- FrameworkName.cs
- Util.cs
- AnnotationHelper.cs
- JoinGraph.cs
- EtwTrackingParticipant.cs
- MessageDecoder.cs
- ThaiBuddhistCalendar.cs
- SystemColors.cs
- TwoPhaseCommit.cs
- PropertyStore.cs
- LiteralControl.cs
- CompositeCollectionView.cs
- CookieHandler.cs
- TextTreeUndo.cs
- EntityWrapperFactory.cs
- PlatformCulture.cs
- Transform3D.cs
- IPAddress.cs
- DesignerToolStripControlHost.cs
- SkipStoryboardToFill.cs
- SingleTagSectionHandler.cs
- ContentPlaceHolder.cs
- RadialGradientBrush.cs
- XsltContext.cs
- SweepDirectionValidation.cs
- SafeBitVector32.cs
- WebConfigurationManager.cs
- SerialPort.cs
- XmlDigitalSignatureProcessor.cs
- MediaSystem.cs
- HostingEnvironmentException.cs
- NameGenerator.cs
- OdbcConnectionHandle.cs
- ReadOnlyNameValueCollection.cs
- DataGridParentRows.cs
- PeerNameRecord.cs
- categoryentry.cs
- RIPEMD160Managed.cs
- RemotingAttributes.cs
- TiffBitmapEncoder.cs
- Context.cs
- TemplateField.cs
- SerialReceived.cs
- AssemblyBuilder.cs
- OdbcDataAdapter.cs