Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- DataRelation.cs
- RenamedEventArgs.cs
- SafeThemeHandle.cs
- HostedTransportConfigurationBase.cs
- DataPagerFieldCollection.cs
- LogicalTreeHelper.cs
- PersonalizationStateInfoCollection.cs
- Vertex.cs
- DefaultPropertyAttribute.cs
- TextSerializer.cs
- SmiRequestExecutor.cs
- RegisteredScript.cs
- Selection.cs
- TextAction.cs
- DecoderNLS.cs
- Model3DGroup.cs
- NotifyIcon.cs
- VirtualPathUtility.cs
- DateTimeValueSerializerContext.cs
- OptimizedTemplateContent.cs
- TaskExceptionHolder.cs
- ProtocolViolationException.cs
- ToolStripCodeDomSerializer.cs
- ListMarkerLine.cs
- Span.cs
- Html32TextWriter.cs
- followingsibling.cs
- ClientSettings.cs
- CultureSpecificStringDictionary.cs
- DateTimeOffsetStorage.cs
- XsltSettings.cs
- MultiSelectRootGridEntry.cs
- ManipulationPivot.cs
- PermissionSetTriple.cs
- ScrollBarAutomationPeer.cs
- RowUpdatingEventArgs.cs
- TextAutomationPeer.cs
- HiddenFieldPageStatePersister.cs
- _BufferOffsetSize.cs
- XmlSchemaComplexContentExtension.cs
- SizeLimitedCache.cs
- CookieParameter.cs
- QuaternionKeyFrameCollection.cs
- ImageConverter.cs
- ColumnResizeUndoUnit.cs
- TypefaceMetricsCache.cs
- ForeignKeyConstraint.cs
- ClientCultureInfo.cs
- SizeChangedEventArgs.cs
- List.cs
- PixelFormatConverter.cs
- ProxyAttribute.cs
- AtomicFile.cs
- UserUseLicenseDictionaryLoader.cs
- WebScriptClientGenerator.cs
- CellParaClient.cs
- ProcessManager.cs
- ColumnCollection.cs
- SqlBulkCopyColumnMappingCollection.cs
- RC2CryptoServiceProvider.cs
- DebugView.cs
- PathFigureCollectionConverter.cs
- TogglePatternIdentifiers.cs
- RoleManagerModule.cs
- GlyphCache.cs
- Expressions.cs
- EventManager.cs
- ComPlusAuthorization.cs
- PageAsyncTaskManager.cs
- Operator.cs
- DataListItemCollection.cs
- MissingSatelliteAssemblyException.cs
- EventMappingSettingsCollection.cs
- ReversePositionQuery.cs
- ContainerControl.cs
- Activity.cs
- SystemNetHelpers.cs
- PolyLineSegment.cs
- ControlValuePropertyAttribute.cs
- SerializationStore.cs
- ImplicitInputBrush.cs
- DbExpressionVisitor.cs
- AnnotationStore.cs
- DbConnectionFactory.cs
- EndpointConfigContainer.cs
- InvokePattern.cs
- PermissionToken.cs
- ReferencedType.cs
- BaseParaClient.cs
- ClaimTypes.cs
- TimelineCollection.cs
- SmiSettersStream.cs
- DecimalKeyFrameCollection.cs
- CallbackException.cs
- Effect.cs
- IntMinMaxAggregationOperator.cs
- RelatedEnd.cs
- SqlDelegatedTransaction.cs
- DesignerForm.cs
- RecognitionResult.cs