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
- GZipStream.cs
- DataGridRowHeader.cs
- IntegerValidator.cs
- MachineKeyConverter.cs
- ServiceHostingEnvironmentSection.cs
- SHA512.cs
- CustomTypeDescriptor.cs
- XmlSchemaFacet.cs
- SmtpReplyReaderFactory.cs
- XmlHierarchicalDataSourceView.cs
- PerspectiveCamera.cs
- AutomationPropertyInfo.cs
- AppSettingsExpressionBuilder.cs
- DynamicObject.cs
- ToolStripLocationCancelEventArgs.cs
- ProviderUtil.cs
- OdbcParameterCollection.cs
- OneOfScalarConst.cs
- FlowDocumentPage.cs
- StylusTouchDevice.cs
- Bidi.cs
- DaylightTime.cs
- PageRanges.cs
- SqlSupersetValidator.cs
- _SafeNetHandles.cs
- AccessDataSource.cs
- Message.cs
- DataGridTextBoxColumn.cs
- SyntaxCheck.cs
- FileCodeGroup.cs
- XmlChildNodes.cs
- BitmapEffectInputConnector.cs
- TimeIntervalCollection.cs
- PingOptions.cs
- DelegateSerializationHolder.cs
- XmlBinaryReaderSession.cs
- OledbConnectionStringbuilder.cs
- TypeListConverter.cs
- SecurityTokenTypes.cs
- ParameterElementCollection.cs
- hresults.cs
- Graphics.cs
- DesignerActionPanel.cs
- Icon.cs
- rsa.cs
- ContainerParaClient.cs
- ExpressionBuilderCollection.cs
- Point3DConverter.cs
- XmlDocumentSerializer.cs
- VisualState.cs
- ChildrenQuery.cs
- EmptyStringExpandableObjectConverter.cs
- ToolStripProgressBar.cs
- WindowsAuthenticationEventArgs.cs
- PieceDirectory.cs
- Buffer.cs
- AnnotationAdorner.cs
- DataSourceConverter.cs
- SoapInteropTypes.cs
- DelegatingHeader.cs
- FormViewModeEventArgs.cs
- XmlWriterSettings.cs
- DataGridViewLinkColumn.cs
- StylusButtonCollection.cs
- TextParagraphProperties.cs
- ZipIORawDataFileBlock.cs
- PageAsyncTask.cs
- HttpResponse.cs
- TableHeaderCell.cs
- URIFormatException.cs
- DefaultDialogButtons.cs
- DescendantOverDescendantQuery.cs
- Lasso.cs
- UpdatePanel.cs
- PatternMatcher.cs
- GraphicsPath.cs
- WindowsTokenRoleProvider.cs
- MyContact.cs
- ListViewInsertedEventArgs.cs
- SecUtil.cs
- RemoteCryptoRsaServiceProvider.cs
- Rules.cs
- OutArgument.cs
- EnumBuilder.cs
- FamilyMap.cs
- HtmlGenericControl.cs
- ObjectView.cs
- FlowDocumentPaginator.cs
- TraceSwitch.cs
- TemplateBuilder.cs
- HttpConfigurationSystem.cs
- ObjectListCommandCollection.cs
- DeploymentSectionCache.cs
- PeerFlooder.cs
- SamlAttribute.cs
- SynchronousReceiveElement.cs
- ToggleProviderWrapper.cs
- ObjectParameterCollection.cs
- _BufferOffsetSize.cs
- MailMessageEventArgs.cs