Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Tools / WSATConfig / Configuration / RegistryExceptionHelper.cs / 1305376 / RegistryExceptionHelper.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.Tools.ServiceModel.WsatConfig { using Microsoft.Win32; using System; class RegistryExceptionHelper { string registryKey; public RegistryExceptionHelper(string registryKey) { this.registryKey = registryKey; EnsureEndsWithSlash(ref this.registryKey); } public RegistryExceptionHelper(string machineName, RegistryHive registryHive, string registryKeyRelativeToHive) : this(RegistryExceptionHelper.GetRegistryKeyBase(machineName, registryHive) + registryKeyRelativeToHive) { } public static void EnsureEndsWithSlash(ref string str) { if (!string.IsNullOrEmpty(str)) { if (!str.EndsWith("\\", StringComparison.OrdinalIgnoreCase)) { str += '\\'; } } } static string GetRegistryKeyBase(string machineName, RegistryHive registryHive) { string registryBase = Utilities.IsLocalMachineName(machineName) ? string.Empty : SR.GetString(SR.RemoteRegistryFormat, machineName); switch (registryHive) { case RegistryHive.ClassesRoot: registryBase += Registry.ClassesRoot.Name; break; case RegistryHive.CurrentUser: registryBase += Registry.CurrentUser.Name; break; case RegistryHive.LocalMachine: registryBase += Registry.LocalMachine.Name; break; default: // We do not support other values here System.Diagnostics.Debug.Assert(false, "registryHive is not supported"); break; } RegistryExceptionHelper.EnsureEndsWithSlash(ref registryBase); return registryBase; } public WsatAdminException CreateRegistryAccessException(int errorCode) { return CreateRegistryAccessException(unchecked((uint)errorCode)); } public WsatAdminException CreateRegistryAccessException(uint errorCode) { return new WsatAdminException(WsatAdminErrorCode.REGISTRY_ACCESS, SR.GetString(SR.ErrorRegistryAccess, registryKey, errorCode)); } public WsatAdminException CreateRegistryAccessException(Exception innerException) { return DoCreateRegistryAccessException(registryKey, innerException); } public WsatAdminException CreateRegistryAccessException(string subRegistryKey, Exception innerException) { return DoCreateRegistryAccessException(registryKey + subRegistryKey, innerException); } static WsatAdminException DoCreateRegistryAccessException(string regKey, Exception innerException) { if (innerException == null) { return new WsatAdminException(WsatAdminErrorCode.REGISTRY_ACCESS, SR.GetString(SR.ErrorRegistryAccessNoErrorCode, regKey)); } return new WsatAdminException(WsatAdminErrorCode.REGISTRY_ACCESS, SR.GetString(SR.ErrorRegistryAccessNoErrorCode, regKey), innerException); } public WsatAdminException CreateRegistryWriteException(Exception innerException) { return DoCreateRegistryWriteException(registryKey, innerException); } public WsatAdminException CreateRegistryWriteException(string subRegistryKey, Exception innerException) { return DoCreateRegistryWriteException(registryKey + subRegistryKey, innerException); } static WsatAdminException DoCreateRegistryWriteException(string regKey, Exception innerException) { if (innerException == null) { return new WsatAdminException(WsatAdminErrorCode.REGISTRY_WRITE, SR.GetString(SR.ErrorRegistryWrite, regKey)); } return new WsatAdminException(WsatAdminErrorCode.REGISTRY_WRITE, SR.GetString(SR.ErrorRegistryWrite, regKey), innerException); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace Microsoft.Tools.ServiceModel.WsatConfig { using Microsoft.Win32; using System; class RegistryExceptionHelper { string registryKey; public RegistryExceptionHelper(string registryKey) { this.registryKey = registryKey; EnsureEndsWithSlash(ref this.registryKey); } public RegistryExceptionHelper(string machineName, RegistryHive registryHive, string registryKeyRelativeToHive) : this(RegistryExceptionHelper.GetRegistryKeyBase(machineName, registryHive) + registryKeyRelativeToHive) { } public static void EnsureEndsWithSlash(ref string str) { if (!string.IsNullOrEmpty(str)) { if (!str.EndsWith("\\", StringComparison.OrdinalIgnoreCase)) { str += '\\'; } } } static string GetRegistryKeyBase(string machineName, RegistryHive registryHive) { string registryBase = Utilities.IsLocalMachineName(machineName) ? string.Empty : SR.GetString(SR.RemoteRegistryFormat, machineName); switch (registryHive) { case RegistryHive.ClassesRoot: registryBase += Registry.ClassesRoot.Name; break; case RegistryHive.CurrentUser: registryBase += Registry.CurrentUser.Name; break; case RegistryHive.LocalMachine: registryBase += Registry.LocalMachine.Name; break; default: // We do not support other values here System.Diagnostics.Debug.Assert(false, "registryHive is not supported"); break; } RegistryExceptionHelper.EnsureEndsWithSlash(ref registryBase); return registryBase; } public WsatAdminException CreateRegistryAccessException(int errorCode) { return CreateRegistryAccessException(unchecked((uint)errorCode)); } public WsatAdminException CreateRegistryAccessException(uint errorCode) { return new WsatAdminException(WsatAdminErrorCode.REGISTRY_ACCESS, SR.GetString(SR.ErrorRegistryAccess, registryKey, errorCode)); } public WsatAdminException CreateRegistryAccessException(Exception innerException) { return DoCreateRegistryAccessException(registryKey, innerException); } public WsatAdminException CreateRegistryAccessException(string subRegistryKey, Exception innerException) { return DoCreateRegistryAccessException(registryKey + subRegistryKey, innerException); } static WsatAdminException DoCreateRegistryAccessException(string regKey, Exception innerException) { if (innerException == null) { return new WsatAdminException(WsatAdminErrorCode.REGISTRY_ACCESS, SR.GetString(SR.ErrorRegistryAccessNoErrorCode, regKey)); } return new WsatAdminException(WsatAdminErrorCode.REGISTRY_ACCESS, SR.GetString(SR.ErrorRegistryAccessNoErrorCode, regKey), innerException); } public WsatAdminException CreateRegistryWriteException(Exception innerException) { return DoCreateRegistryWriteException(registryKey, innerException); } public WsatAdminException CreateRegistryWriteException(string subRegistryKey, Exception innerException) { return DoCreateRegistryWriteException(registryKey + subRegistryKey, innerException); } static WsatAdminException DoCreateRegistryWriteException(string regKey, Exception innerException) { if (innerException == null) { return new WsatAdminException(WsatAdminErrorCode.REGISTRY_WRITE, SR.GetString(SR.ErrorRegistryWrite, regKey)); } return new WsatAdminException(WsatAdminErrorCode.REGISTRY_WRITE, SR.GetString(SR.ErrorRegistryWrite, regKey), innerException); } } } // 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
- Image.cs
- RequestUriProcessor.cs
- BamlReader.cs
- Misc.cs
- WebControlAdapter.cs
- ImportCatalogPart.cs
- CompositeControl.cs
- Int16AnimationBase.cs
- DeleteMemberBinder.cs
- ListBox.cs
- HandlerBase.cs
- BoundingRectTracker.cs
- ResourceDisplayNameAttribute.cs
- GifBitmapEncoder.cs
- GeneralTransform2DTo3DTo2D.cs
- VBIdentifierTrimConverter.cs
- WebPartHeaderCloseVerb.cs
- ComEventsHelper.cs
- DataGridViewCellEventArgs.cs
- ConfigurationPropertyCollection.cs
- ThicknessAnimationBase.cs
- ExpressionLexer.cs
- PageSetupDialog.cs
- SerializationSectionGroup.cs
- ToolboxComponentsCreatedEventArgs.cs
- EntitySqlException.cs
- InputLanguageEventArgs.cs
- WebPartTracker.cs
- XmlAtomicValue.cs
- FrugalMap.cs
- XmlUnspecifiedAttribute.cs
- LineProperties.cs
- InstancePersistence.cs
- InputReport.cs
- CorrelationHandle.cs
- __TransparentProxy.cs
- EventEntry.cs
- TokenBasedSet.cs
- UniqueIdentifierService.cs
- ProfessionalColorTable.cs
- RtfToXamlLexer.cs
- XmlSchemaValidationException.cs
- DataGridViewSortCompareEventArgs.cs
- BookmarkTable.cs
- PriorityQueue.cs
- DependencyPropertyValueSerializer.cs
- PopupControlService.cs
- RectangleConverter.cs
- VectorAnimationBase.cs
- CompiledQueryCacheEntry.cs
- TransformationRules.cs
- CompilationUtil.cs
- EasingKeyFrames.cs
- EventRouteFactory.cs
- __ConsoleStream.cs
- DataGridViewRowHeaderCell.cs
- WindowsContainer.cs
- Triplet.cs
- MediaTimeline.cs
- ItemCollection.cs
- XmlSchemaType.cs
- WsdlHelpGeneratorElement.cs
- PropertyPathWorker.cs
- WeakReferenceKey.cs
- ActivityBindForm.Designer.cs
- StyleSheetDesigner.cs
- ZipIOLocalFileBlock.cs
- CapabilitiesRule.cs
- HttpRequestBase.cs
- FrameworkContextData.cs
- WindowsTitleBar.cs
- CursorConverter.cs
- DesignerDataParameter.cs
- COM2ComponentEditor.cs
- PropertyToken.cs
- Ops.cs
- TemplateKey.cs
- dataSvcMapFileLoader.cs
- PathStreamGeometryContext.cs
- TextTreeUndoUnit.cs
- FileInfo.cs
- DataKey.cs
- EntityViewContainer.cs
- UnsafeNativeMethodsTablet.cs
- ClickablePoint.cs
- ListItemCollection.cs
- XmlSchemaInferenceException.cs
- SequentialOutput.cs
- MenuDesigner.cs
- HttpApplication.cs
- MultipleViewPattern.cs
- ValuePattern.cs
- EntityDataSourceQueryBuilder.cs
- WindowsSecurityToken.cs
- SrgsDocumentParser.cs
- InfiniteIntConverter.cs
- CodeBinaryOperatorExpression.cs
- WindowsButton.cs
- WebPartAuthorizationEventArgs.cs
- ByValueEqualityComparer.cs