Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / clr / src / BCL / System / BadImageFormatException.cs / 1 / BadImageFormatException.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: BadImageFormatException ** ** ** Purpose: Exception to an invalid dll or executable format. ** ** ===========================================================*/ namespace System { using System; using System.Runtime.Serialization; using FileLoadException = System.IO.FileLoadException; using System.Security.Permissions; using SecurityException = System.Security.SecurityException; using System.Globalization; [System.Runtime.InteropServices.ComVisible(true)] [Serializable()] public class BadImageFormatException : SystemException { private String _fileName; // The name of the corrupt PE file. private String _fusionLog; // fusion log (when applicable) public BadImageFormatException() : base(Environment.GetResourceString("Arg_BadImageFormatException")) { SetErrorCode(__HResults.COR_E_BADIMAGEFORMAT); } public BadImageFormatException(String message) : base(message) { SetErrorCode(__HResults.COR_E_BADIMAGEFORMAT); } public BadImageFormatException(String message, Exception inner) : base(message, inner) { SetErrorCode(__HResults.COR_E_BADIMAGEFORMAT); } public BadImageFormatException(String message, String fileName) : base(message) { SetErrorCode(__HResults.COR_E_BADIMAGEFORMAT); _fileName = fileName; } public BadImageFormatException(String message, String fileName, Exception inner) : base(message, inner) { SetErrorCode(__HResults.COR_E_BADIMAGEFORMAT); _fileName = fileName; } public override String Message { get { SetMessageField(); return _message; } } private void SetMessageField() { if (_message == null) { if ((_fileName == null) && (HResult == System.__HResults.COR_E_EXCEPTION)) _message = Environment.GetResourceString("Arg_BadImageFormatException"); else _message = FileLoadException.FormatFileLoadExceptionMessage(_fileName, HResult); } } public String FileName { get { return _fileName; } } public override String ToString() { String s = GetType().FullName + ": " + Message; if (_fileName != null && _fileName.Length != 0) s += Environment.NewLine + String.Format(CultureInfo.CurrentCulture, Environment.GetResourceString("IO.FileName_Name"), _fileName); if (InnerException != null) s = s + " ---> " + InnerException.ToString(); if (StackTrace != null) s += Environment.NewLine + StackTrace; try { if(FusionLog!=null) { if (s==null) s=" "; s+=Environment.NewLine; s+=Environment.NewLine; s+=FusionLog; } } catch(SecurityException) { } return s; } protected BadImageFormatException(SerializationInfo info, StreamingContext context) : base(info, context) { // Base class constructor will check info != null. _fileName = info.GetString("BadImageFormat_FileName"); try { _fusionLog = info.GetString("BadImageFormat_FusionLog"); } catch { _fusionLog = null; } } private BadImageFormatException(String fileName, String fusionLog, int hResult) : base(null) { SetErrorCode(hResult); _fileName = fileName; _fusionLog=fusionLog; SetMessageField(); } public String FusionLog { [SecurityPermissionAttribute( SecurityAction.Demand, Flags = SecurityPermissionFlag.ControlEvidence | SecurityPermissionFlag.ControlPolicy)] get { return _fusionLog; } } [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { // Serialize data for our base classes. base will verify info != null. base.GetObjectData(info, context); // Serialize data for this class info.AddValue("BadImageFormat_FileName", _fileName, typeof(String)); try { info.AddValue("BadImageFormat_FusionLog", FusionLog, typeof(String)); } catch (SecurityException) { } } } }
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- IncrementalCompileAnalyzer.cs
- SchemaExporter.cs
- Iis7Helper.cs
- HttpModuleCollection.cs
- StrokeNodeOperations.cs
- SimpleFieldTemplateUserControl.cs
- XmlSchemaNotation.cs
- TemplatePropertyEntry.cs
- StatusBarPanel.cs
- SrgsElementFactory.cs
- ExtensibleClassFactory.cs
- WeakReference.cs
- BaseParser.cs
- ClrProviderManifest.cs
- EntityDataSourceViewSchema.cs
- InkCanvasSelectionAdorner.cs
- XappLauncher.cs
- MemberJoinTreeNode.cs
- BuildDependencySet.cs
- IArgumentProvider.cs
- CryptoConfig.cs
- ExpressionBuilder.cs
- CatalogPart.cs
- ConcurrentDictionary.cs
- StrictAndMessageFilter.cs
- ValueTable.cs
- LogLogRecord.cs
- TraversalRequest.cs
- DefaultValidator.cs
- XmlDesignerDataSourceView.cs
- ObjectCacheHost.cs
- HttpNamespaceReservationInstallComponent.cs
- RuntimeConfigurationRecord.cs
- Registry.cs
- NativeMethods.cs
- NonSerializedAttribute.cs
- InteropEnvironment.cs
- SiteMapHierarchicalDataSourceView.cs
- RegexReplacement.cs
- DataViewManagerListItemTypeDescriptor.cs
- Soap11ServerProtocol.cs
- GeometryHitTestResult.cs
- SerializationAttributes.cs
- SystemColorTracker.cs
- PrintEvent.cs
- ViewBase.cs
- XmlJsonReader.cs
- Operator.cs
- DesignBindingValueUIHandler.cs
- TextFormattingConverter.cs
- ItemsPresenter.cs
- InternalTypeHelper.cs
- SettingsPropertyWrongTypeException.cs
- HttpResponseWrapper.cs
- BreakRecordTable.cs
- ChangesetResponse.cs
- StylusPointPropertyId.cs
- ExpressionParser.cs
- Calendar.cs
- WebPartExportVerb.cs
- Pts.cs
- SafeArrayTypeMismatchException.cs
- HashStream.cs
- AssemblyResourceLoader.cs
- XmlSerializer.cs
- HttpFileCollection.cs
- RelationshipEnd.cs
- HtmlTableCellCollection.cs
- SafeNativeMethods.cs
- TraceListeners.cs
- ManagementClass.cs
- Configuration.cs
- AppModelKnownContentFactory.cs
- ColorKeyFrameCollection.cs
- TdsParserSessionPool.cs
- FixedSOMTableRow.cs
- XmlConvert.cs
- XmlSerializationReader.cs
- MediaTimeline.cs
- PageSetupDialog.cs
- EdgeProfileValidation.cs
- TdsParserSafeHandles.cs
- ListItem.cs
- DirtyTextRange.cs
- CalendarAutoFormat.cs
- FileEnumerator.cs
- diagnosticsswitches.cs
- MemberDescriptor.cs
- AncestorChangedEventArgs.cs
- RoleGroup.cs
- ResourceDescriptionAttribute.cs
- MetadataWorkspace.cs
- RectKeyFrameCollection.cs
- XPathBinder.cs
- SecurityUniqueId.cs
- GeometryDrawing.cs
- VisualStyleRenderer.cs
- SlotInfo.cs
- SocketException.cs
- MulticastDelegate.cs