Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ExpressionBuilderContext.cs
- EasingKeyFrames.cs
- RotationValidation.cs
- RC2.cs
- userdatakeys.cs
- ChtmlTextWriter.cs
- ContextBase.cs
- DesignerHelpers.cs
- ValidatorUtils.cs
- IISUnsafeMethods.cs
- NavigationEventArgs.cs
- SelectedDatesCollection.cs
- ListViewInsertionMark.cs
- GcSettings.cs
- ButtonStandardAdapter.cs
- ListBoxItemWrapperAutomationPeer.cs
- DataGridViewToolTip.cs
- WebProxyScriptElement.cs
- MergeFailedEvent.cs
- CardSpacePolicyElement.cs
- DoubleAnimationBase.cs
- ClientConfigurationHost.cs
- TextTreeDeleteContentUndoUnit.cs
- StateWorkerRequest.cs
- SessionStateItemCollection.cs
- Array.cs
- BaseDataList.cs
- HelpInfo.cs
- CompositeFontInfo.cs
- ApplicationBuildProvider.cs
- PeerApplicationLaunchInfo.cs
- oledbmetadatacolumnnames.cs
- GacUtil.cs
- BigInt.cs
- BamlWriter.cs
- ActivityFunc.cs
- EventWaitHandleSecurity.cs
- Point4D.cs
- ConsumerConnectionPoint.cs
- XPathScanner.cs
- ConstraintCollection.cs
- DCSafeHandle.cs
- CheckBoxAutomationPeer.cs
- ExtensionDataObject.cs
- COAUTHIDENTITY.cs
- SendKeys.cs
- FilterQuery.cs
- Knowncolors.cs
- ExternalException.cs
- SrgsRuleRef.cs
- ExcCanonicalXml.cs
- PersonalizationAdministration.cs
- ProcessModule.cs
- ProtectedConfiguration.cs
- FocusManager.cs
- StringCollectionMarkupSerializer.cs
- WebPartDeleteVerb.cs
- TitleStyle.cs
- SqlDataSourceAdvancedOptionsForm.cs
- FileSystemWatcher.cs
- ExponentialEase.cs
- WmlCalendarAdapter.cs
- DependentList.cs
- DataGridViewColumnEventArgs.cs
- PageThemeCodeDomTreeGenerator.cs
- Oid.cs
- XamlWriterExtensions.cs
- EdmScalarPropertyAttribute.cs
- Types.cs
- Metadata.cs
- XmlEnumAttribute.cs
- FileUtil.cs
- _ScatterGatherBuffers.cs
- VScrollProperties.cs
- DataRowCollection.cs
- Visual3D.cs
- WorkflowServiceInstance.cs
- Pts.cs
- CTreeGenerator.cs
- TextContainerChangedEventArgs.cs
- DetailsViewPageEventArgs.cs
- CompressStream.cs
- SessionState.cs
- FontResourceCache.cs
- HtmlLabelAdapter.cs
- TextTreePropertyUndoUnit.cs
- DiffuseMaterial.cs
- FontFamilyValueSerializer.cs
- StrokeDescriptor.cs
- AsymmetricAlgorithm.cs
- WebServiceFaultDesigner.cs
- SoapSchemaExporter.cs
- PolicyStatement.cs
- MailMessageEventArgs.cs
- DriveNotFoundException.cs
- UrlMappingsModule.cs
- PrimarySelectionAdorner.cs
- SerializationStore.cs
- PassportPrincipal.cs
- ScriptDescriptor.cs