Code:
/ DotNET / DotNET / 8.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
- SizeF.cs
- shaperfactory.cs
- PageEventArgs.cs
- ColorComboBox.cs
- HierarchicalDataSourceDesigner.cs
- NameValueFileSectionHandler.cs
- WebBrowsableAttribute.cs
- DependencyObject.cs
- PropertyBuilder.cs
- Workspace.cs
- SqlCharStream.cs
- NotCondition.cs
- WebPartUserCapability.cs
- PagesSection.cs
- ClientTargetCollection.cs
- MetadataPropertyvalue.cs
- TableAdapterManagerGenerator.cs
- VisualBrush.cs
- _SslState.cs
- EventWaitHandle.cs
- DependencyPropertyChangedEventArgs.cs
- HtmlFormParameterReader.cs
- CellTreeNodeVisitors.cs
- ServerIdentity.cs
- DataGridTablesFactory.cs
- LockedAssemblyCache.cs
- util.cs
- Triangle.cs
- TreeViewItemAutomationPeer.cs
- ToolStripArrowRenderEventArgs.cs
- PeerApplication.cs
- DataTableNewRowEvent.cs
- DetectEofStream.cs
- initElementDictionary.cs
- ClientType.cs
- WhileDesigner.cs
- SizeConverter.cs
- Message.cs
- _BasicClient.cs
- WindowsSecurityTokenAuthenticator.cs
- DoubleUtil.cs
- FontStyleConverter.cs
- XsdCachingReader.cs
- ForceCopyBuildProvider.cs
- LassoHelper.cs
- Msmq.cs
- ObjectKeyFrameCollection.cs
- GeometryValueSerializer.cs
- KeyedHashAlgorithm.cs
- NavigationProperty.cs
- DataGridViewCell.cs
- AlignmentXValidation.cs
- HWStack.cs
- NonceCache.cs
- StaticTextPointer.cs
- CodeTypeParameterCollection.cs
- RequestQueue.cs
- ServiceReference.cs
- DSASignatureDeformatter.cs
- Double.cs
- KnownBoxes.cs
- MarkupCompilePass2.cs
- XmlReader.cs
- GC.cs
- AnnotationAuthorChangedEventArgs.cs
- AssertFilter.cs
- DataGridRowClipboardEventArgs.cs
- UniqueIdentifierService.cs
- EntityDataSourceContainerNameItem.cs
- ExtentJoinTreeNode.cs
- FileDetails.cs
- XmlTextAttribute.cs
- ValueType.cs
- TracedNativeMethods.cs
- MasterPageParser.cs
- MetadataHelper.cs
- ReaderWriterLock.cs
- NumberSubstitution.cs
- GenericWebPart.cs
- DataRowCollection.cs
- PassportAuthenticationModule.cs
- InheritanceContextChangedEventManager.cs
- RegexMatch.cs
- EndpointDiscoveryMetadata11.cs
- WebPartDisplayMode.cs
- HostTimeoutsElement.cs
- XmlAttributes.cs
- WsdlBuildProvider.cs
- Trace.cs
- ProfileEventArgs.cs
- ResourcePropertyMemberCodeDomSerializer.cs
- TogglePattern.cs
- ValidationSummaryDesigner.cs
- StoreItemCollection.Loader.cs
- EmptyCollection.cs
- PreparingEnlistment.cs
- TextRange.cs
- Duration.cs
- CodeExpressionCollection.cs
- SoundPlayer.cs