Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- XmlSchemaComplexContentRestriction.cs
- SizeValueSerializer.cs
- TextWriterTraceListener.cs
- Translator.cs
- X509ChainElement.cs
- CodeAttributeDeclarationCollection.cs
- XmlSyndicationContent.cs
- ISAPIApplicationHost.cs
- ObjectListCommandEventArgs.cs
- storepermissionattribute.cs
- CompilerParameters.cs
- PageEventArgs.cs
- CheckBox.cs
- DataGridViewRowPostPaintEventArgs.cs
- PrimitiveSchema.cs
- PresentationTraceSources.cs
- WorkflowNamespace.cs
- ToolTip.cs
- PlanCompiler.cs
- SqlServices.cs
- CompositeScriptReference.cs
- fixedPageContentExtractor.cs
- RewritingValidator.cs
- InputLanguageEventArgs.cs
- OdbcUtils.cs
- TTSEngineProxy.cs
- AppLevelCompilationSectionCache.cs
- FixedSOMPage.cs
- PropertyItem.cs
- HostingEnvironment.cs
- DNS.cs
- CodeAttributeDeclaration.cs
- GCHandleCookieTable.cs
- QueryCacheEntry.cs
- SystemWebSectionGroup.cs
- ProxyAttribute.cs
- TimeEnumHelper.cs
- RangeBase.cs
- FormatterServices.cs
- MarkupWriter.cs
- ControlBuilderAttribute.cs
- EpmTargetPathSegment.cs
- SingleAnimationBase.cs
- DBSchemaTable.cs
- MailBnfHelper.cs
- CompositeCollectionView.cs
- ResourceDictionary.cs
- InputScopeAttribute.cs
- PasswordBox.cs
- ConditionCollection.cs
- CurrencyWrapper.cs
- TextBox.cs
- LayoutTableCell.cs
- MarkupExtensionReturnTypeAttribute.cs
- PropVariant.cs
- XmlnsPrefixAttribute.cs
- AppDomainShutdownMonitor.cs
- xdrvalidator.cs
- ElementMarkupObject.cs
- PerformanceCounterLib.cs
- SoapSchemaImporter.cs
- DetailsView.cs
- DispatcherExceptionFilterEventArgs.cs
- JoinElimination.cs
- CodeDelegateInvokeExpression.cs
- ReachPageContentCollectionSerializerAsync.cs
- DbDataSourceEnumerator.cs
- RelationshipConstraintValidator.cs
- PathFigure.cs
- StreamReader.cs
- QuotedPrintableStream.cs
- FloaterBaseParagraph.cs
- ServiceDiscoveryBehavior.cs
- Select.cs
- PointAnimationClockResource.cs
- KerberosSecurityTokenProvider.cs
- XsltConvert.cs
- COAUTHIDENTITY.cs
- EnumBuilder.cs
- ProcessManager.cs
- SafeUserTokenHandle.cs
- PriorityItem.cs
- KeyProperty.cs
- GeometryModel3D.cs
- SafeProcessHandle.cs
- SqlBuilder.cs
- InfiniteIntConverter.cs
- PtsPage.cs
- ResolveMatches11.cs
- CommandBinding.cs
- PagerSettings.cs
- WebPartAuthorizationEventArgs.cs
- ImageButton.cs
- FileVersionInfo.cs
- IsolatedStorageFile.cs
- MetadataPropertyCollection.cs
- TagNameToTypeMapper.cs
- CodeRemoveEventStatement.cs
- SessionStateItemCollection.cs
- WebBaseEventKeyComparer.cs