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
- ClientSideProviderDescription.cs
- WebControlsSection.cs
- ClientBuildManager.cs
- HtmlTableRow.cs
- Int64Converter.cs
- ModuleBuilder.cs
- DataReaderContainer.cs
- X509Extension.cs
- SqlExpressionNullability.cs
- EncodingFallbackAwareXmlTextWriter.cs
- EnumerableRowCollectionExtensions.cs
- HashJoinQueryOperatorEnumerator.cs
- Package.cs
- ArgumentException.cs
- TreeViewDataItemAutomationPeer.cs
- ScalarRestriction.cs
- TreeIterators.cs
- ListViewItemMouseHoverEvent.cs
- ManagementClass.cs
- isolationinterop.cs
- StreamUpdate.cs
- Token.cs
- StyleSheetDesigner.cs
- GridItemPattern.cs
- TypeSystem.cs
- BrowserDefinition.cs
- ViewStateException.cs
- FormsAuthenticationUserCollection.cs
- Win32Exception.cs
- DateTime.cs
- DeclaredTypeElement.cs
- RegistryConfigurationProvider.cs
- AuthenticationModuleElement.cs
- BuilderPropertyEntry.cs
- Delay.cs
- recordstate.cs
- TextPointer.cs
- ColumnResizeAdorner.cs
- GeometryConverter.cs
- ExceptionHelpers.cs
- ChannelTerminatedException.cs
- Semaphore.cs
- DataSourceCache.cs
- ConcurrentStack.cs
- CompoundFileReference.cs
- SqlDataSourceSummaryPanel.cs
- ReadOnlyHierarchicalDataSourceView.cs
- DataGridRow.cs
- InputBuffer.cs
- MenuItemCollectionEditorDialog.cs
- ZipIOExtraFieldZip64Element.cs
- EndpointAddress10.cs
- Attributes.cs
- EntityDataSourceViewSchema.cs
- NamedPermissionSet.cs
- DrawingGroup.cs
- SpeechUI.cs
- TimerElapsedEvenArgs.cs
- DataControlPagerLinkButton.cs
- Image.cs
- Blend.cs
- CompilationPass2TaskInternal.cs
- SoapMessage.cs
- Animatable.cs
- ScrollData.cs
- RegexMatchCollection.cs
- ReadOnlyNameValueCollection.cs
- XPathDocumentBuilder.cs
- KeyInstance.cs
- BackgroundFormatInfo.cs
- ExtendedProtectionPolicy.cs
- StringExpressionSet.cs
- StylusShape.cs
- UnsafeNativeMethods.cs
- InstancePersistenceCommand.cs
- TypefaceCollection.cs
- UInt16Converter.cs
- ContextMarshalException.cs
- WorkflowDesignerColors.cs
- RelationshipFixer.cs
- StylusPlugInCollection.cs
- SafeReadContext.cs
- DocumentXmlWriter.cs
- WebException.cs
- PropertyChangingEventArgs.cs
- EndpointBehaviorElement.cs
- CompensationDesigner.cs
- HttpHeaderCollection.cs
- SQLMoney.cs
- TableStyle.cs
- Converter.cs
- StringFunctions.cs
- PenThreadWorker.cs
- SqlClientMetaDataCollectionNames.cs
- ListBox.cs
- CheckedListBox.cs
- LongValidator.cs
- ClonableStack.cs
- RepeaterCommandEventArgs.cs
- EdgeProfileValidation.cs