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
- RectIndependentAnimationStorage.cs
- PolyQuadraticBezierSegment.cs
- SqlTransaction.cs
- SplitterEvent.cs
- safelinkcollection.cs
- TextInfo.cs
- BindingManagerDataErrorEventArgs.cs
- ByteViewer.cs
- CounterCreationData.cs
- SharedConnectionWorkflowTransactionService.cs
- AssemblyBuilder.cs
- PreviousTrackingServiceAttribute.cs
- ProcessManager.cs
- ContractBase.cs
- RegistrationServices.cs
- ContentType.cs
- TextDecoration.cs
- Pair.cs
- COM2ExtendedBrowsingHandler.cs
- ZoneButton.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- SettingsPropertyWrongTypeException.cs
- TokenDescriptor.cs
- ProxyHelper.cs
- PositiveTimeSpanValidator.cs
- AssemblyInfo.cs
- PopupControlService.cs
- UTF7Encoding.cs
- Int16AnimationUsingKeyFrames.cs
- RouteValueDictionary.cs
- Privilege.cs
- NotifyInputEventArgs.cs
- ArglessEventHandlerProxy.cs
- TextFormatterHost.cs
- PageCatalogPartDesigner.cs
- LinearGradientBrush.cs
- EntityDesignerUtils.cs
- CodePageUtils.cs
- GuidConverter.cs
- HtmlWindowCollection.cs
- UIElement.cs
- CodeLabeledStatement.cs
- ActivityDesigner.cs
- MobileUITypeEditor.cs
- GenericWebPart.cs
- ObjectPersistData.cs
- JapaneseLunisolarCalendar.cs
- DomainUpDown.cs
- AnonymousIdentificationSection.cs
- URLAttribute.cs
- RunWorkerCompletedEventArgs.cs
- XPathAncestorQuery.cs
- EntityDataSourceWizardForm.cs
- FileDialog_Vista.cs
- BamlRecordReader.cs
- mansign.cs
- GenericRootAutomationPeer.cs
- Trace.cs
- HwndHostAutomationPeer.cs
- PageFunction.cs
- ButtonChrome.cs
- TransformGroup.cs
- RegexCharClass.cs
- SqlCacheDependencySection.cs
- ScriptingScriptResourceHandlerSection.cs
- RtfControls.cs
- ActivationArguments.cs
- StorageInfo.cs
- SqlProfileProvider.cs
- NativeCppClassAttribute.cs
- FixedSOMSemanticBox.cs
- OleDbCommand.cs
- WindowsFormsHostAutomationPeer.cs
- TransformProviderWrapper.cs
- FileClassifier.cs
- RayHitTestParameters.cs
- ControlTemplate.cs
- RegexRunner.cs
- PlainXmlWriter.cs
- FixedBufferAttribute.cs
- DbProviderServices.cs
- ActiveXContainer.cs
- TypeNameConverter.cs
- OracleBinary.cs
- ConfigurationSectionCollection.cs
- ColorContext.cs
- MetadataCacheItem.cs
- HashAlgorithm.cs
- FusionWrap.cs
- Visual3D.cs
- ComplusEndpointConfigContainer.cs
- RIPEMD160Managed.cs
- BinaryExpressionHelper.cs
- EndpointAddressProcessor.cs
- __Filters.cs
- InProcStateClientManager.cs
- ToolStripContainer.cs
- DataTableMapping.cs
- PointCollectionValueSerializer.cs
- InkCanvasFeedbackAdorner.cs