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
- ScrollPattern.cs
- CaseStatementSlot.cs
- FileSecurity.cs
- EntityDataReader.cs
- MemoryRecordBuffer.cs
- Rotation3D.cs
- XmlParser.cs
- SelectorItemAutomationPeer.cs
- MemoryRecordBuffer.cs
- DeferredReference.cs
- WebPartChrome.cs
- x509utils.cs
- DropDownList.cs
- AnonymousIdentificationModule.cs
- AsyncOperationManager.cs
- PackageDigitalSignatureManager.cs
- StreamInfo.cs
- MimeMultiPart.cs
- SHA256Cng.cs
- MasterPageCodeDomTreeGenerator.cs
- ComboBoxRenderer.cs
- Stack.cs
- MissingSatelliteAssemblyException.cs
- PlaceHolder.cs
- ComboBoxItem.cs
- MobileFormsAuthentication.cs
- RegexParser.cs
- Label.cs
- CompareInfo.cs
- TranslateTransform.cs
- RSAProtectedConfigurationProvider.cs
- RubberbandSelector.cs
- _ProxyChain.cs
- WebRequestModuleElementCollection.cs
- Rule.cs
- Expressions.cs
- ValueChangedEventManager.cs
- HtmlTableCell.cs
- ResourceManager.cs
- DataGridViewColumnCollectionDialog.cs
- State.cs
- ADMembershipUser.cs
- CodeConstructor.cs
- FileUpload.cs
- Pair.cs
- LayoutExceptionEventArgs.cs
- DocumentsTrace.cs
- TableHeaderCell.cs
- TypeGenericEnumerableViewSchema.cs
- IteratorFilter.cs
- tibetanshape.cs
- SystemNetworkInterface.cs
- ConfigXmlCDataSection.cs
- processwaithandle.cs
- TimeStampChecker.cs
- ExpressionPrinter.cs
- WebPartActionVerb.cs
- _LocalDataStore.cs
- ThreadExceptionDialog.cs
- LifetimeServices.cs
- ListViewContainer.cs
- DbSourceCommand.cs
- XmlNodeChangedEventArgs.cs
- ResumeStoryboard.cs
- SymbolTable.cs
- InvokeHandlers.cs
- KeyProperty.cs
- DesignerAttribute.cs
- AdapterDictionary.cs
- ColorKeyFrameCollection.cs
- Transform.cs
- storepermissionattribute.cs
- XmlProcessingInstruction.cs
- CroppedBitmap.cs
- HtmlListAdapter.cs
- PrincipalPermission.cs
- OutputScope.cs
- RtfFormatStack.cs
- CalendarTable.cs
- RegexWorker.cs
- HWStack.cs
- MsdtcClusterUtils.cs
- DataGridViewRowsAddedEventArgs.cs
- Polygon.cs
- ProviderException.cs
- WpfWebRequestHelper.cs
- NetworkCredential.cs
- ComponentChangingEvent.cs
- Transform3DGroup.cs
- XmlSchemaObjectTable.cs
- SequentialActivityDesigner.cs
- DataGridViewTopRowAccessibleObject.cs
- HttpServerUtilityWrapper.cs
- ExpressionList.cs
- CompilerResults.cs
- ListViewHitTestInfo.cs
- ScriptControlDescriptor.cs
- ContainerFilterService.cs
- SectionInput.cs
- FilterException.cs