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
- SQLRoleProvider.cs
- XmlReturnReader.cs
- XmlCharCheckingReader.cs
- RectangleGeometry.cs
- Latin1Encoding.cs
- ConstantCheck.cs
- MgmtConfigurationRecord.cs
- ImageMapEventArgs.cs
- ActivationServices.cs
- CustomLineCap.cs
- PathGradientBrush.cs
- ParseNumbers.cs
- CheckBox.cs
- AnnotationDocumentPaginator.cs
- AdornerHitTestResult.cs
- ContextMenuService.cs
- BindingValueChangedEventArgs.cs
- AnalyzedTree.cs
- EntityObject.cs
- XsltInput.cs
- PointCollectionConverter.cs
- X509CertificateChain.cs
- SplashScreenNativeMethods.cs
- FixedElement.cs
- SqlProvider.cs
- MsmqIntegrationProcessProtocolHandler.cs
- MulticastDelegate.cs
- PagesSection.cs
- OneOfTypeConst.cs
- BaseParaClient.cs
- ServiceModelConfigurationSection.cs
- SqlCachedBuffer.cs
- DecimalAnimationUsingKeyFrames.cs
- ImageInfo.cs
- ExpressionStringBuilder.cs
- BufferedReceiveManager.cs
- XmlCodeExporter.cs
- ClientTargetSection.cs
- SerializationInfo.cs
- PropertyPathWorker.cs
- WSDualHttpSecurity.cs
- Model3DCollection.cs
- DateRangeEvent.cs
- InstalledVoice.cs
- AuthenticationSection.cs
- HtmlTableCell.cs
- ParentUndoUnit.cs
- InvalidPipelineStoreException.cs
- GlobalEventManager.cs
- CodeTypeReferenceCollection.cs
- BlockUIContainer.cs
- Codec.cs
- ContextMenuStripGroupCollection.cs
- MethodImplAttribute.cs
- CodeAccessSecurityEngine.cs
- UriSectionData.cs
- OdbcErrorCollection.cs
- DatatypeImplementation.cs
- OracleException.cs
- ScrollChrome.cs
- MenuItemBindingCollection.cs
- PerformanceCounterCategory.cs
- SharedUtils.cs
- DataGridViewCellEventArgs.cs
- CompositeCollectionView.cs
- RegexRunner.cs
- ValidationResult.cs
- CategoryGridEntry.cs
- DeviceSpecificDialogCachedState.cs
- OptimisticConcurrencyException.cs
- Int64KeyFrameCollection.cs
- CLSCompliantAttribute.cs
- ComContractElement.cs
- OleCmdHelper.cs
- DesignerTextBoxAdapter.cs
- LineSegment.cs
- QilLiteral.cs
- odbcmetadatafactory.cs
- VisualStyleElement.cs
- AstNode.cs
- RemoveStoryboard.cs
- GenerateScriptTypeAttribute.cs
- GridItemPatternIdentifiers.cs
- GrammarBuilderWildcard.cs
- DataGridItemEventArgs.cs
- RequiredAttributeAttribute.cs
- mediaeventshelper.cs
- WindowsAltTab.cs
- figurelength.cs
- ResXResourceReader.cs
- SerializationStore.cs
- GacUtil.cs
- TypeUsageBuilder.cs
- SequenceNumber.cs
- XmlSigningNodeWriter.cs
- XmlWrappingWriter.cs
- CodeGroup.cs
- WebHttpDispatchOperationSelector.cs
- WebPartDisplayModeCollection.cs
- ConstructorNeedsTagAttribute.cs