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
- TypeRestriction.cs
- XPathNodeInfoAtom.cs
- MatrixConverter.cs
- DeferredRunTextReference.cs
- ServiceAuthorizationElement.cs
- _ConnectionGroup.cs
- MessageLogTraceRecord.cs
- OleAutBinder.cs
- WebServiceHostFactory.cs
- PerformanceCounterPermissionAttribute.cs
- OleDbParameter.cs
- TabItemWrapperAutomationPeer.cs
- AsyncStreamReader.cs
- DBSqlParserTableCollection.cs
- Shape.cs
- QilVisitor.cs
- ChangeInterceptorAttribute.cs
- hresults.cs
- RemotingConfigParser.cs
- DataSet.cs
- TableCell.cs
- NotImplementedException.cs
- DeferredElementTreeState.cs
- RegexCode.cs
- DictionarySurrogate.cs
- ASCIIEncoding.cs
- TableRowCollection.cs
- CodeComment.cs
- ActivityBindForm.Designer.cs
- MetadataCache.cs
- ExpressionEditorSheet.cs
- ImageField.cs
- SqlDataSourceCache.cs
- SiteMapProvider.cs
- FileSystemEventArgs.cs
- FileDialogPermission.cs
- DES.cs
- PropertyTabChangedEvent.cs
- GPPOINT.cs
- HostingEnvironmentSection.cs
- AssemblyAttributes.cs
- GridItemProviderWrapper.cs
- XmlSchemaExternal.cs
- WpfWebRequestHelper.cs
- ExpressionBuilder.cs
- ScrollChrome.cs
- RectangleHotSpot.cs
- RequestResizeEvent.cs
- WebPartDisplayMode.cs
- HttpDictionary.cs
- WsatConfiguration.cs
- Duration.cs
- DesignerMetadata.cs
- LinkClickEvent.cs
- TemplateField.cs
- ByteAnimationUsingKeyFrames.cs
- Content.cs
- DataControlFieldHeaderCell.cs
- XPathPatternParser.cs
- DbDataAdapter.cs
- DbParameterHelper.cs
- BaseConfigurationRecord.cs
- EntityDataSourceChangingEventArgs.cs
- ListBoxItem.cs
- FrameworkElement.cs
- InvokeProviderWrapper.cs
- TreeBuilder.cs
- XPathDocumentIterator.cs
- DataGridCellItemAutomationPeer.cs
- SetterBase.cs
- XmlSchemaComplexContentRestriction.cs
- SqlColumnizer.cs
- SystemInformation.cs
- DesignerSerializationManager.cs
- IndicFontClient.cs
- BasicCellRelation.cs
- AddIn.cs
- PersonalizationDictionary.cs
- UrlRoutingModule.cs
- BindingSource.cs
- BitmapData.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- PasswordPropertyTextAttribute.cs
- ReadOnlyNameValueCollection.cs
- IdnMapping.cs
- ThreadInterruptedException.cs
- Int32Storage.cs
- OAVariantLib.cs
- CheckBoxList.cs
- Rijndael.cs
- RelativeSource.cs
- XPathSelfQuery.cs
- LazyTextWriterCreator.cs
- TextElementEditingBehaviorAttribute.cs
- UnsignedPublishLicense.cs
- SubstitutionList.cs
- AllMembershipCondition.cs
- RijndaelManagedTransform.cs
- ToolStripProgressBar.cs
- TreeWalkHelper.cs