Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- Int16.cs
- EntityModelSchemaGenerator.cs
- NamedPipeProcessProtocolHandler.cs
- ControlValuePropertyAttribute.cs
- WindowsScrollBarBits.cs
- FileUtil.cs
- SqlClientWrapperSmiStream.cs
- SmiRecordBuffer.cs
- KeyEvent.cs
- DataRelationPropertyDescriptor.cs
- X509ThumbprintKeyIdentifierClause.cs
- HashCodeCombiner.cs
- GridLengthConverter.cs
- ArgIterator.cs
- ProviderIncompatibleException.cs
- ListBox.cs
- control.ime.cs
- TransactionFilter.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- RenderOptions.cs
- StateInitialization.cs
- TextEndOfLine.cs
- WebReferenceCollection.cs
- IsolatedStoragePermission.cs
- EmptyControlCollection.cs
- IconBitmapDecoder.cs
- MSAAWinEventWrap.cs
- Expression.cs
- HierarchicalDataBoundControlAdapter.cs
- NameValueSectionHandler.cs
- BamlMapTable.cs
- PathSegment.cs
- ImageMap.cs
- Floater.cs
- DefaultPropertiesToSend.cs
- LinkArea.cs
- TriggerBase.cs
- WSHttpSecurity.cs
- BindingGroup.cs
- KnownTypesProvider.cs
- ByteStreamMessageEncoder.cs
- DelegateSerializationHolder.cs
- XPathNavigatorReader.cs
- NetworkCredential.cs
- MarshalDirectiveException.cs
- Polyline.cs
- TraceHwndHost.cs
- DataGridViewRowConverter.cs
- TemplateModeChangedEventArgs.cs
- HtmlInputRadioButton.cs
- COM2FontConverter.cs
- CacheEntry.cs
- IncrementalHitTester.cs
- NegotiateStream.cs
- ListSourceHelper.cs
- ConfigurationValidatorAttribute.cs
- ListViewTableCell.cs
- EmbossBitmapEffect.cs
- GenericWebPart.cs
- TypedLocationWrapper.cs
- PointAnimationClockResource.cs
- GenericIdentity.cs
- ContainsRowNumberChecker.cs
- IPipelineRuntime.cs
- CommandHelpers.cs
- XmlAnyAttributeAttribute.cs
- UndoEngine.cs
- ExpandSegment.cs
- JsonServiceDocumentSerializer.cs
- QuaternionRotation3D.cs
- DataGridViewRowPrePaintEventArgs.cs
- ArrayWithOffset.cs
- BamlRecordWriter.cs
- FormsAuthenticationConfiguration.cs
- PatternMatcher.cs
- ChildTable.cs
- RootAction.cs
- FreezableCollection.cs
- EdmValidator.cs
- SmiMetaDataProperty.cs
- FtpRequestCacheValidator.cs
- sqlinternaltransaction.cs
- SmtpTransport.cs
- CapabilitiesSection.cs
- DynamicPropertyReader.cs
- DependencyStoreSurrogate.cs
- SystemResources.cs
- HandlerBase.cs
- Label.cs
- MediaTimeline.cs
- LabelInfo.cs
- GridViewDeleteEventArgs.cs
- BindingGroup.cs
- DispatcherEventArgs.cs
- TextParagraphView.cs
- HttpFileCollection.cs
- TextPenaltyModule.cs
- ProcessInputEventArgs.cs
- RtfToXamlLexer.cs
- ProvideValueServiceProvider.cs