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
- MenuScrollingVisibilityConverter.cs
- PropertyChangeTracker.cs
- SingleResultAttribute.cs
- EntityClientCacheEntry.cs
- Rectangle.cs
- InlineCategoriesDocument.cs
- ConcurrentStack.cs
- ServiceHttpHandlerFactory.cs
- SchemaAttDef.cs
- autovalidator.cs
- MessageFormatterConverter.cs
- DecodeHelper.cs
- BlockUIContainer.cs
- SettingsAttributes.cs
- ReadOnlyCollection.cs
- DocumentViewerBaseAutomationPeer.cs
- NamedElement.cs
- RadioButtonPopupAdapter.cs
- WinCategoryAttribute.cs
- ListMarkerLine.cs
- DataGridViewBand.cs
- WebBrowserUriTypeConverter.cs
- LicenseException.cs
- ActivityIdHeader.cs
- AsynchronousChannelMergeEnumerator.cs
- CellNormalizer.cs
- SecurityPermission.cs
- HttpHandlersInstallComponent.cs
- BaseDataBoundControlDesigner.cs
- SetterBaseCollection.cs
- IteratorDescriptor.cs
- DmlSqlGenerator.cs
- CloseSequence.cs
- Task.cs
- BinaryVersion.cs
- XmlSchemaGroup.cs
- InputMethodStateTypeInfo.cs
- EUCJPEncoding.cs
- InternalSafeNativeMethods.cs
- ImpersonationContext.cs
- CancelRequestedRecord.cs
- ShaderEffect.cs
- srgsitem.cs
- UdpDiscoveryEndpointElement.cs
- FieldDescriptor.cs
- RequestCache.cs
- SafeFileMappingHandle.cs
- ShaperBuffers.cs
- TracingConnectionListener.cs
- CollectionViewSource.cs
- CurrencyManager.cs
- EmissiveMaterial.cs
- ASCIIEncoding.cs
- InheritanceContextChangedEventManager.cs
- FrameworkReadOnlyPropertyMetadata.cs
- JsonDeserializer.cs
- IndexOutOfRangeException.cs
- TextTreeText.cs
- FixedDSBuilder.cs
- CommandEventArgs.cs
- Int16.cs
- ServiceReflector.cs
- ForceCopyBuildProvider.cs
- ServiceOperationHelpers.cs
- EventLogEntryCollection.cs
- AllowedAudienceUriElement.cs
- HandlerBase.cs
- VolatileEnlistmentMultiplexing.cs
- SQLGuidStorage.cs
- PageParser.cs
- AuthenticationService.cs
- XmlArrayAttribute.cs
- XmlChildEnumerator.cs
- FontUnitConverter.cs
- UpDownBase.cs
- TransformerConfigurationWizardBase.cs
- MemberAssignmentAnalysis.cs
- ToolTipService.cs
- HttpBindingExtension.cs
- TextTreeTextElementNode.cs
- TriState.cs
- RegexGroupCollection.cs
- ComPlusDiagnosticTraceRecords.cs
- PostBackOptions.cs
- TreeViewImageIndexConverter.cs
- DataViewSetting.cs
- ComplexBindingPropertiesAttribute.cs
- Deflater.cs
- SpeechSeg.cs
- InputLangChangeRequestEvent.cs
- RuntimeCompatibilityAttribute.cs
- DbMetaDataCollectionNames.cs
- X509RecipientCertificateServiceElement.cs
- SelectionEditor.cs
- SignatureHelper.cs
- BooleanToVisibilityConverter.cs
- EmptyEnumerator.cs
- X509Certificate2.cs
- TypeContext.cs
- PassportIdentity.cs