Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Core / System / Diagnostics / Eventing / Reader / EventLogException.cs / 1305376 / EventLogException.cs
// ==++== // // Copyright (c) Microsoft Corporation. All rights reserved. // // ==--== /*============================================================ ** ** Class: EventLogException ** ** Purpose: ** This public class describes an exception thrown from Event ** Log related classes. ** ============================================================*/ using System; using System.ComponentModel; using System.Runtime.Serialization; using System.Security.Permissions; namespace System.Diagnostics.Eventing.Reader { [Serializable] [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class EventLogException : Exception, ISerializable { internal static void Throw(int errorCode) { switch (errorCode) { case 2: case 3: case 15007: case 15027: case 15028: case 15002: throw new EventLogNotFoundException(errorCode); case 13: case 15005: throw new EventLogInvalidDataException(errorCode); case 1818: // RPC_S_CALL_CANCELED is converted to ERROR_CANCELLED case 1223: throw new OperationCanceledException(); case 15037: throw new EventLogProviderDisabledException(errorCode); case 5: throw new UnauthorizedAccessException(); case 15011: case 15012: throw new EventLogReadingException(errorCode); default: throw new EventLogException(errorCode); } } public EventLogException() { } public EventLogException(string message) : base(message) { } public EventLogException(string message, Exception innerException) : base(message, innerException) { } protected EventLogException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base(serializationInfo, streamingContext) { } protected EventLogException(int errorCode) { this.errorCode = errorCode; } // SecurityCritical due to inherited link demand for GetObjectData. [System.Security.SecurityCritical,SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { if (info == null) throw new ArgumentNullException("info"); info.AddValue("errorCode", errorCode); base.GetObjectData(info, context); } public override string Message { // marked as SecurityCritical because it uses Win32Exception. // marked as TreatAsSafe because it performs Demand. [System.Security.SecurityCritical] get { EventLogPermissionHolder.GetEventLogPermission().Demand(); Win32Exception win32Exception = new Win32Exception(errorCode); return win32Exception.Message; } } private int errorCode; } ////// The object requested by the operation is not found. /// [Serializable] [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class EventLogNotFoundException : EventLogException { public EventLogNotFoundException() { } public EventLogNotFoundException(string message) : base(message) { } public EventLogNotFoundException(string message, Exception innerException) : base(message, innerException) { } protected EventLogNotFoundException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base(serializationInfo, streamingContext) { } internal EventLogNotFoundException(int errorCode) : base(errorCode) { } } ////// The state of the reader cursor has become invalid, most likely due to the fact /// that the log has been cleared. User needs to obtain a new reader object if /// they wish to continue navigating result set. /// [Serializable] [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class EventLogReadingException : EventLogException { public EventLogReadingException() { } public EventLogReadingException(string message) : base(message) { } public EventLogReadingException(string message, Exception innerException) : base(message, innerException) { } protected EventLogReadingException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base(serializationInfo, streamingContext) { } internal EventLogReadingException(int errorCode) : base(errorCode) { } } ////// Provider has been uninstalled while ProviderMetadata operations are being performed. /// Obtain a new ProviderMetadata object, when provider is reinstalled, to continue navigating /// provider's metadata. /// [Serializable] [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class EventLogProviderDisabledException : EventLogException { public EventLogProviderDisabledException() { } public EventLogProviderDisabledException(string message) : base(message) { } public EventLogProviderDisabledException(string message, Exception innerException) : base(message, innerException) { } protected EventLogProviderDisabledException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base(serializationInfo, streamingContext) { } internal EventLogProviderDisabledException(int errorCode) : base(errorCode) { } } ////// Data obtained from the eventlog service, for the current operation, is invalid . /// [Serializable] [System.Security.Permissions.HostProtection(MayLeakOnAbort = true)] public class EventLogInvalidDataException : EventLogException { public EventLogInvalidDataException() { } public EventLogInvalidDataException(string message) : base(message) { } public EventLogInvalidDataException(string message, Exception innerException) : base(message, innerException) { } protected EventLogInvalidDataException(SerializationInfo serializationInfo, StreamingContext streamingContext) : base(serializationInfo, streamingContext) { } internal EventLogInvalidDataException(int errorCode) : base(errorCode) { } } } // 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
- LessThanOrEqual.cs
- XmlElementCollection.cs
- MultiAsyncResult.cs
- X509ChainElement.cs
- DataGridViewSelectedColumnCollection.cs
- ExponentialEase.cs
- Animatable.cs
- FontFamilyIdentifier.cs
- ConditionCollection.cs
- ProtectedProviderSettings.cs
- TraceListeners.cs
- RichTextBoxConstants.cs
- IncomingWebResponseContext.cs
- Margins.cs
- XmlArrayItemAttribute.cs
- Inflater.cs
- CallTemplateAction.cs
- FolderLevelBuildProviderCollection.cs
- LongCountAggregationOperator.cs
- AttributeCollection.cs
- DbParameterHelper.cs
- View.cs
- AutomationElement.cs
- Permission.cs
- CngKey.cs
- DeleteBookmarkScope.cs
- NavigationEventArgs.cs
- FixedBufferAttribute.cs
- ToolStripKeyboardHandlingService.cs
- MULTI_QI.cs
- QilStrConcat.cs
- HiddenFieldPageStatePersister.cs
- ProfileProvider.cs
- XmlNavigatorFilter.cs
- ToolStripSeparator.cs
- GetIsBrowserClientRequest.cs
- HwndAppCommandInputProvider.cs
- SoapReflectionImporter.cs
- ExpandSegmentCollection.cs
- FileDetails.cs
- ProviderConnectionPoint.cs
- TemplatePartAttribute.cs
- OpCodes.cs
- CryptoApi.cs
- PropertyGeneratedEventArgs.cs
- ColumnHeaderConverter.cs
- EventProperty.cs
- TreeBuilderBamlTranslator.cs
- WebPartConnectionsDisconnectVerb.cs
- BookmarkWorkItem.cs
- DataBindingValueUIHandler.cs
- AuthorizationRule.cs
- MediaElement.cs
- COM2ColorConverter.cs
- FormClosedEvent.cs
- Profiler.cs
- DataGridTable.cs
- CipherData.cs
- EDesignUtil.cs
- ObjectSet.cs
- _SSPIWrapper.cs
- KoreanLunisolarCalendar.cs
- GridPattern.cs
- Currency.cs
- CodeDomExtensionMethods.cs
- EtwTrackingParticipant.cs
- TextControl.cs
- PipeStream.cs
- ImageList.cs
- SearchForVirtualItemEventArgs.cs
- ToolboxCategory.cs
- XPathNodeHelper.cs
- MemberPath.cs
- RangeValueProviderWrapper.cs
- Repeater.cs
- CallbackValidator.cs
- ProxyAttribute.cs
- ThreadSafeList.cs
- ReadWriteObjectLock.cs
- Duration.cs
- CodePropertyReferenceExpression.cs
- CompositeDispatchFormatter.cs
- StringSource.cs
- DBSchemaTable.cs
- TypeSchema.cs
- ValidationSummary.cs
- PrintPageEvent.cs
- ProcessModelInfo.cs
- ConfigurationValue.cs
- JavaScriptObjectDeserializer.cs
- WorkflowInstanceExtensionProvider.cs
- SecureUICommand.cs
- DataGridViewAutoSizeModeEventArgs.cs
- TextBoxView.cs
- FrameworkElementAutomationPeer.cs
- StaticFileHandler.cs
- ObjectDataSourceFilteringEventArgs.cs
- SessionChannels.cs
- FixedNode.cs
- XmlDataProvider.cs