Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / Services / Messaging / System / Messaging / MessageQueueException.cs / 1305376 / MessageQueueException.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Messaging { using System.Runtime.InteropServices; using System.Runtime.Serialization; using System.Diagnostics; using System; using System.Text; using System.Messaging.Interop; using System.ComponentModel; using Microsoft.Win32; using System.Globalization; ////// /// [Serializable] [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1032:ImplementStandardExceptionConstructors")] public class MessageQueueException : ExternalException, ISerializable { private readonly int nativeErrorCode; ////// Is thrown if a Microsoft Message /// Queue Server (MSMQ) internal error occurs. /// ////// internal MessageQueueException(int error) { nativeErrorCode = error; } /// /// protected MessageQueueException(SerializationInfo info, StreamingContext context) : base (info, context) { nativeErrorCode = info.GetInt32("NativeErrorCode"); } /// /// /// public MessageQueueErrorCode MessageQueueErrorCode { get { return (MessageQueueErrorCode)nativeErrorCode; } } ///[To be supplied.] ////// /// public override string Message { get { try { return Res.GetString(Convert.ToString(nativeErrorCode, 16).ToUpper(CultureInfo.InvariantCulture)); } catch { return GetUnknownErrorMessage(nativeErrorCode); } } } private static string GetUnknownErrorMessage(int error) { //get the system error message... string errorMsg = ""; StringBuilder sb = new StringBuilder(256); int result = SafeNativeMethods.FormatMessage(SafeNativeMethods.FORMAT_MESSAGE_IGNORE_INSERTS | SafeNativeMethods.FORMAT_MESSAGE_FROM_SYSTEM | SafeNativeMethods.FORMAT_MESSAGE_ARGUMENT_ARRAY, IntPtr.Zero, error, 0, sb, sb.Capacity + 1, IntPtr.Zero); if (result != 0) { int i = sb.Length; while (i > 0) { char ch = sb[i - 1]; if (ch > 32 && ch != '.') break; i--; } errorMsg = sb.ToString(0, i); } else { errorMsg =Res.GetString("UnknownError", Convert.ToString(error, 16)); } return errorMsg; } ///[To be supplied.] ///[System.Security.Permissions.SecurityPermissionAttribute(System.Security.Permissions.SecurityAction.LinkDemand, Flags=System.Security.Permissions.SecurityPermissionFlag.SerializationFormatter)] public override void GetObjectData(SerializationInfo info, StreamingContext context) { if (info==null) { throw new ArgumentNullException("info"); } info.AddValue("NativeErrorCode", nativeErrorCode); base.GetObjectData(info, context); } } } // 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
- PlanCompilerUtil.cs
- XmlCollation.cs
- DirectoryInfo.cs
- _emptywebproxy.cs
- RelatedPropertyManager.cs
- OdbcInfoMessageEvent.cs
- HwndSourceKeyboardInputSite.cs
- ComponentManagerBroker.cs
- PassportPrincipal.cs
- NativeMethods.cs
- TemplatedMailWebEventProvider.cs
- DataServiceBuildProvider.cs
- DatagridviewDisplayedBandsData.cs
- AttributeConverter.cs
- CustomLineCap.cs
- BinHexDecoder.cs
- QueryContinueDragEvent.cs
- BoolLiteral.cs
- IndexedSelectQueryOperator.cs
- BasicViewGenerator.cs
- ToolStripSplitStackLayout.cs
- FormatterServicesNoSerializableCheck.cs
- SiteMembershipCondition.cs
- SqlTriggerAttribute.cs
- SHA256Managed.cs
- BasicCellRelation.cs
- LexicalChunk.cs
- IERequestCache.cs
- ServiceContractViewControl.Designer.cs
- NumericPagerField.cs
- Speller.cs
- PhoneCallDesigner.cs
- GridViewAutomationPeer.cs
- ComplexPropertyEntry.cs
- ClaimTypes.cs
- SQLBytesStorage.cs
- ListBindingHelper.cs
- ChameleonKey.cs
- WebContentFormatHelper.cs
- TextEditorMouse.cs
- RegexCaptureCollection.cs
- TextServicesCompartment.cs
- ResolveCriteriaCD1.cs
- DBProviderConfigurationHandler.cs
- ApplicationProxyInternal.cs
- EncryptedPackage.cs
- SinglePageViewer.cs
- PrintDialogException.cs
- SharedPerformanceCounter.cs
- StylusPointPropertyUnit.cs
- StylusPointProperties.cs
- ByteAnimationBase.cs
- XamlToRtfParser.cs
- LinearGradientBrush.cs
- WebContext.cs
- CorrelationResolver.cs
- AdornerLayer.cs
- MatrixTransform.cs
- SR.cs
- Style.cs
- MethodBuilder.cs
- SystemThemeKey.cs
- ApplicationTrust.cs
- MessageFormatterConverter.cs
- ProcessManager.cs
- CodeAttributeArgument.cs
- TokenizerHelper.cs
- ExpressionNormalizer.cs
- CachedResourceDictionaryExtension.cs
- GradientBrush.cs
- ManagementOperationWatcher.cs
- GridViewRowPresenter.cs
- ITextView.cs
- SQLByte.cs
- ResourceIDHelper.cs
- FunctionParameter.cs
- EndpointBehaviorElement.cs
- WeakReferenceList.cs
- XmlSerializerFactory.cs
- ContentElement.cs
- ValueQuery.cs
- XmlSchemaValidationException.cs
- FileUpload.cs
- ValueType.cs
- ApplicationGesture.cs
- RightsManagementInformation.cs
- EraserBehavior.cs
- ConstraintManager.cs
- AppLevelCompilationSectionCache.cs
- SQLSingleStorage.cs
- NameObjectCollectionBase.cs
- DataGridViewButtonColumn.cs
- BCLDebug.cs
- EntityViewContainer.cs
- BamlBinaryWriter.cs
- ClassData.cs
- DataError.cs
- GridViewHeaderRowPresenterAutomationPeer.cs
- SubclassTypeValidator.cs
- TypeConvertions.cs