Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- TimeStampChecker.cs
- ConstrainedGroup.cs
- itemelement.cs
- CodeGenerator.cs
- GeometryDrawing.cs
- SqlProviderUtilities.cs
- DataGridViewImageColumn.cs
- SqlDataSourceStatusEventArgs.cs
- InteropEnvironment.cs
- ChannelSinkStacks.cs
- VirtualPathUtility.cs
- SiteMapSection.cs
- XamlBrushSerializer.cs
- MarshalByValueComponent.cs
- PointValueSerializer.cs
- OptimalTextSource.cs
- ExcCanonicalXml.cs
- PointAnimationClockResource.cs
- ContainerUtilities.cs
- CacheEntry.cs
- TextContainerChangedEventArgs.cs
- MessageEncoder.cs
- XmlHierarchyData.cs
- CapabilitiesPattern.cs
- QueryFunctions.cs
- IdentityNotMappedException.cs
- SchemaElement.cs
- DataGridViewBand.cs
- RealizationContext.cs
- UnsafeNativeMethods.cs
- OlePropertyStructs.cs
- WebColorConverter.cs
- UIntPtr.cs
- FileChangeNotifier.cs
- PointAnimationBase.cs
- DockAndAnchorLayout.cs
- Queue.cs
- TableLayoutCellPaintEventArgs.cs
- StreamGeometryContext.cs
- RuleSettingsCollection.cs
- EntityDataSourceUtil.cs
- RTLAwareMessageBox.cs
- MobileListItem.cs
- ParallelEnumerable.cs
- StylesEditorDialog.cs
- NamespaceImport.cs
- Listen.cs
- ToolStripPanel.cs
- OletxVolatileEnlistment.cs
- WebBrowserProgressChangedEventHandler.cs
- PageThemeCodeDomTreeGenerator.cs
- DigestTraceRecordHelper.cs
- SelectionRange.cs
- EditorPart.cs
- XmlAtomicValue.cs
- LinkLabel.cs
- StsCommunicationException.cs
- ResourceType.cs
- XamlStyleSerializer.cs
- QuotedStringFormatReader.cs
- ArglessEventHandlerProxy.cs
- WebEncodingValidatorAttribute.cs
- XmlAttributeProperties.cs
- WebPartConnectionsConfigureVerb.cs
- PrimarySelectionGlyph.cs
- DependencyProperty.cs
- ProcessRequestArgs.cs
- QuadraticEase.cs
- WebServiceResponseDesigner.cs
- CompoundFileIOPermission.cs
- Typeface.cs
- BinaryFormatter.cs
- ApplicationSecurityInfo.cs
- FatalException.cs
- EdmProperty.cs
- FastEncoder.cs
- SingleKeyFrameCollection.cs
- HttpServerVarsCollection.cs
- Graph.cs
- Debugger.cs
- TemplateContentLoader.cs
- pingexception.cs
- BamlTreeNode.cs
- XmlHelper.cs
- ListViewUpdatedEventArgs.cs
- WebPartDescription.cs
- ConstructorExpr.cs
- TextFindEngine.cs
- ZipIORawDataFileBlock.cs
- DirectionalLight.cs
- WorkflowApplicationUnloadedException.cs
- MetabaseServerConfig.cs
- WindowsIPAddress.cs
- OptimalTextSource.cs
- DesignerWithHeader.cs
- RootProjectionNode.cs
- PrintDialog.cs
- CodePropertyReferenceExpression.cs
- GAC.cs
- FileCodeGroup.cs