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
- MeasureData.cs
- MultiByteCodec.cs
- BitmapSource.cs
- DrawListViewItemEventArgs.cs
- XPathExpr.cs
- WpfWebRequestHelper.cs
- RegionInfo.cs
- SqlExpressionNullability.cs
- WindowsListView.cs
- XmlSchemaObject.cs
- XmlQuerySequence.cs
- ItemsControlAutomationPeer.cs
- WebPartEditorCancelVerb.cs
- httpapplicationstate.cs
- QilInvokeLateBound.cs
- SessionParameter.cs
- XamlLoadErrorInfo.cs
- UInt32Storage.cs
- BufferBuilder.cs
- WorkflowIdleElement.cs
- WsdlImporterElementCollection.cs
- ToolStripRendererSwitcher.cs
- DockPatternIdentifiers.cs
- _SafeNetHandles.cs
- HtmlTitle.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- GenericWebPart.cs
- SignedPkcs7.cs
- ResourceIDHelper.cs
- TranslateTransform3D.cs
- WebPartsSection.cs
- EdmItemCollection.cs
- PreviewControlDesigner.cs
- DataSetViewSchema.cs
- TypeUtil.cs
- RepeaterCommandEventArgs.cs
- _ScatterGatherBuffers.cs
- ExtendedTransformFactory.cs
- TrackingServices.cs
- DataGridViewCellStyleChangedEventArgs.cs
- WindowsSolidBrush.cs
- StatementContext.cs
- SystemNetworkInterface.cs
- SingleTagSectionHandler.cs
- StickyNote.cs
- SHA1CryptoServiceProvider.cs
- MULTI_QI.cs
- GridLength.cs
- ModelItemKeyValuePair.cs
- MessageHeaderInfoTraceRecord.cs
- TypeLoadException.cs
- CollectionBuilder.cs
- FontClient.cs
- TreeViewDesigner.cs
- PageCopyCount.cs
- TextSpanModifier.cs
- ToolStripEditorManager.cs
- StrongNameKeyPair.cs
- SecurityUtils.cs
- ListBase.cs
- RawStylusInput.cs
- StructuredProperty.cs
- CacheDependency.cs
- WebServiceTypeData.cs
- ButtonFieldBase.cs
- BasicExpressionVisitor.cs
- InheritanceAttribute.cs
- StructureChangedEventArgs.cs
- OneOf.cs
- GeneratedCodeAttribute.cs
- Vars.cs
- TransformerConfigurationWizardBase.cs
- PageEventArgs.cs
- ValueConversionAttribute.cs
- TableLayoutPanelCodeDomSerializer.cs
- XmlSequenceWriter.cs
- BindingElementCollection.cs
- ChameleonKey.cs
- WebPartTransformerCollection.cs
- CoTaskMemHandle.cs
- UserControl.cs
- ComponentEvent.cs
- Rotation3DAnimationBase.cs
- InteropBitmapSource.cs
- _HTTPDateParse.cs
- SessionPageStateSection.cs
- XmlMemberMapping.cs
- ChangeNode.cs
- SqlNodeAnnotation.cs
- DbConnectionPoolGroupProviderInfo.cs
- ExceptionHandlerDesigner.cs
- Highlights.cs
- DateTime.cs
- DBSchemaTable.cs
- CompilerState.cs
- RoleService.cs
- DataGridViewCellCollection.cs
- StagingAreaInputItem.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- HttpListenerTimeoutManager.cs