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
- RelatedPropertyManager.cs
- dtdvalidator.cs
- TextTabProperties.cs
- SecurityPermission.cs
- ResourceType.cs
- _SafeNetHandles.cs
- LassoHelper.cs
- XmlSchemaGroup.cs
- TextEditorTables.cs
- ClientFormsIdentity.cs
- SafeHandles.cs
- ChangePassword.cs
- PreloadedPackages.cs
- SqlCharStream.cs
- SQLBoolean.cs
- WebConfigurationHostFileChange.cs
- DbConnectionFactory.cs
- AttachedPropertyBrowsableAttribute.cs
- DataGridColumnHeaderCollection.cs
- SecurityTokenParameters.cs
- GiveFeedbackEvent.cs
- InkCanvasInnerCanvas.cs
- FrameworkTextComposition.cs
- RegexFCD.cs
- _KerberosClient.cs
- SctClaimDictionary.cs
- FigureHelper.cs
- DesignerImageAdapter.cs
- PatternMatcher.cs
- TableColumn.cs
- COM2TypeInfoProcessor.cs
- ErrorFormatterPage.cs
- XmlIncludeAttribute.cs
- SingleSelectRootGridEntry.cs
- WindowAutomationPeer.cs
- IssuanceLicense.cs
- MediaScriptCommandRoutedEventArgs.cs
- ChtmlFormAdapter.cs
- ClientCultureInfo.cs
- WorkflowItemsPresenter.cs
- WMIGenerator.cs
- ButtonBase.cs
- HeaderUtility.cs
- ErrorItem.cs
- DocumentViewer.cs
- FormatVersion.cs
- Assign.cs
- ChtmlPageAdapter.cs
- PasswordTextNavigator.cs
- DocumentPropertiesDialog.cs
- ProcessHostFactoryHelper.cs
- PropertyGeneratedEventArgs.cs
- TableLayoutSettingsTypeConverter.cs
- SoapExtensionImporter.cs
- MethodToken.cs
- InputLangChangeEvent.cs
- SqlDataSourceSelectingEventArgs.cs
- mil_commands.cs
- SqlParameterizer.cs
- XPathDocument.cs
- ActivityExecutor.cs
- DocobjHost.cs
- ComContractElement.cs
- DesignerOptionService.cs
- DbConnectionPoolIdentity.cs
- EventMap.cs
- ExpressionPrefixAttribute.cs
- RectangleF.cs
- CursorConverter.cs
- CompilerParameters.cs
- DragDeltaEventArgs.cs
- XmlSchemaSimpleType.cs
- Stack.cs
- DataGridViewCellValueEventArgs.cs
- CompositeTypefaceMetrics.cs
- HMACSHA384.cs
- CompoundFileReference.cs
- CqlIdentifiers.cs
- DataGridViewComboBoxEditingControl.cs
- ElementAtQueryOperator.cs
- ValidationPropertyAttribute.cs
- Condition.cs
- AccessText.cs
- RegexReplacement.cs
- ComAdminInterfaces.cs
- TraceHwndHost.cs
- ProfileEventArgs.cs
- MonikerHelper.cs
- WithParamAction.cs
- Helper.cs
- ResourceContainer.cs
- ServiceXNameTypeConverter.cs
- SystemIcmpV4Statistics.cs
- MenuItemCollectionEditor.cs
- StylusPointCollection.cs
- SrgsDocument.cs
- Accessors.cs
- Style.cs
- RewritingProcessor.cs
- SignatureDescription.cs