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
- Asn1IntegerConverter.cs
- AmbiguousMatchException.cs
- PageClientProxyGenerator.cs
- CodeThrowExceptionStatement.cs
- ReaderContextStackData.cs
- WebServiceTypeData.cs
- TreeNodeStyle.cs
- XPathEmptyIterator.cs
- CompoundFileStorageReference.cs
- NotifyCollectionChangedEventArgs.cs
- TextEffectCollection.cs
- MetabaseServerConfig.cs
- DbException.cs
- AccessText.cs
- MimeXmlImporter.cs
- Rotation3DAnimation.cs
- RegexBoyerMoore.cs
- TreeViewImageIndexConverter.cs
- FontUnitConverter.cs
- MessageSecurityVersionConverter.cs
- LinearKeyFrames.cs
- CodeSnippetExpression.cs
- EntityFunctions.cs
- Point3DIndependentAnimationStorage.cs
- FilterException.cs
- Win32Interop.cs
- Button.cs
- ObjectDataSourceView.cs
- ClientSettingsSection.cs
- GradientBrush.cs
- SearchForVirtualItemEventArgs.cs
- FontUnitConverter.cs
- UIElementParagraph.cs
- DoubleCollectionConverter.cs
- QuadraticBezierSegment.cs
- EntityDataSourceValidationException.cs
- DbExpressionVisitor_TResultType.cs
- ListViewSelectEventArgs.cs
- AbstractExpressions.cs
- _BufferOffsetSize.cs
- EllipticalNodeOperations.cs
- Privilege.cs
- FlowDocument.cs
- OuterGlowBitmapEffect.cs
- ProjectionAnalyzer.cs
- Point4DConverter.cs
- ZipIOCentralDirectoryBlock.cs
- JsonEncodingStreamWrapper.cs
- Membership.cs
- Resources.Designer.cs
- CalendarDay.cs
- LineServices.cs
- UnsafeNativeMethods.cs
- PolyBezierSegment.cs
- DBSqlParserTable.cs
- Button.cs
- TableHeaderCell.cs
- BinaryWriter.cs
- ExpressionVisitor.cs
- DtdParser.cs
- PropagatorResult.cs
- AnonymousIdentificationSection.cs
- ExpressionVisitor.cs
- PackageProperties.cs
- StyleSelector.cs
- ImmutableClientRuntime.cs
- IncrementalHitTester.cs
- Knowncolors.cs
- TransactionManager.cs
- XomlCompilerHelpers.cs
- EntityType.cs
- TypefaceMetricsCache.cs
- SamlConditions.cs
- RelationshipFixer.cs
- TableCellAutomationPeer.cs
- TextSchema.cs
- TextTrailingWordEllipsis.cs
- ProcessHostFactoryHelper.cs
- ToolStripItemTextRenderEventArgs.cs
- ContextMenuStripActionList.cs
- ApplicationBuildProvider.cs
- WCFModelStrings.Designer.cs
- ImportFileRequest.cs
- Identifier.cs
- DependencyPropertyHelper.cs
- Simplifier.cs
- ToolboxItemCollection.cs
- TransformPattern.cs
- ServicesUtilities.cs
- CqlLexerHelpers.cs
- MatcherBuilder.cs
- ProtocolElement.cs
- CustomExpression.cs
- Base64WriteStateInfo.cs
- ProxyWebPart.cs
- ModelUIElement3D.cs
- httpserverutility.cs
- HasCopySemanticsAttribute.cs
- Compilation.cs
- PropertyInformation.cs