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
- StrokeCollectionDefaultValueFactory.cs
- XmlTextReaderImplHelpers.cs
- SecurityDocument.cs
- ToolStripComboBox.cs
- ProcessingInstructionAction.cs
- ActivityDesignerHelper.cs
- Dynamic.cs
- Stopwatch.cs
- SamlAudienceRestrictionCondition.cs
- TypeAccessException.cs
- DataGridViewEditingControlShowingEventArgs.cs
- HitTestResult.cs
- ServiceContractGenerator.cs
- Pair.cs
- LogEntryHeaderDeserializer.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- Boolean.cs
- ToolStripContentPanelRenderEventArgs.cs
- RIPEMD160Managed.cs
- TagPrefixInfo.cs
- WorkflowClientDeliverMessageWrapper.cs
- HiddenFieldPageStatePersister.cs
- sqlmetadatafactory.cs
- KeyBinding.cs
- AutomationProperties.cs
- WebConfigurationHostFileChange.cs
- TableItemProviderWrapper.cs
- SplayTreeNode.cs
- EndpointIdentityConverter.cs
- PointLight.cs
- QilVisitor.cs
- WindowsTokenRoleProvider.cs
- WebPartMenu.cs
- Form.cs
- TextEffectResolver.cs
- XmlChildEnumerator.cs
- Size3DValueSerializer.cs
- objectresult_tresulttype.cs
- DescriptionCreator.cs
- ObjectDisposedException.cs
- FrameworkElement.cs
- MsmqIntegrationProcessProtocolHandler.cs
- _HelperAsyncResults.cs
- TextRunProperties.cs
- PointIndependentAnimationStorage.cs
- EventLogPermission.cs
- DataObjectAttribute.cs
- Int16AnimationBase.cs
- dbenumerator.cs
- TextTreeNode.cs
- XmlRawWriter.cs
- NavigatorInput.cs
- XmlLinkedNode.cs
- InitializingNewItemEventArgs.cs
- XsdDataContractImporter.cs
- Inline.cs
- SingleSelectRootGridEntry.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- AccessibleObject.cs
- NameValueConfigurationCollection.cs
- VariantWrapper.cs
- _UriTypeConverter.cs
- RecognitionResult.cs
- ChainOfResponsibility.cs
- DBConnectionString.cs
- Walker.cs
- PKCS1MaskGenerationMethod.cs
- Fault.cs
- EventHandlerService.cs
- COM2PictureConverter.cs
- Permission.cs
- LineSegment.cs
- WhitespaceSignificantCollectionAttribute.cs
- documentsequencetextpointer.cs
- ToolStripPanelRenderEventArgs.cs
- ConnectionPoint.cs
- EdgeModeValidation.cs
- ActivityExecutorDelegateInfo.cs
- AmbientProperties.cs
- TextComposition.cs
- Typeface.cs
- CookieParameter.cs
- DataGridState.cs
- WmlValidationSummaryAdapter.cs
- OdbcEnvironmentHandle.cs
- RenderContext.cs
- ControlEvent.cs
- ErrorFormatterPage.cs
- StartUpEventArgs.cs
- SingleBodyParameterMessageFormatter.cs
- OracleCommandBuilder.cs
- XmlTextAttribute.cs
- WebBrowser.cs
- ReachSerializationUtils.cs
- DataControlImageButton.cs
- OracleConnectionString.cs
- IriParsingElement.cs
- TextViewElement.cs
- Matrix.cs
- Site.cs