Esempio n. 1
0
        //
        // LH: Cluster\Resources\GUID_OF_DTC\MSDTCPrivate\MSDTC
        // W2k3: Cluster\Resources\GUID_OF_DTC\SOME_GUID\, here SOME_GUID is the default value of GUID_OF_DTC\DataPointer\
        //
        string GetClusterMstdcRegistryKey()
        {
            Debug.Assert(IsClustered);

            if (Utilities.OSMajor > 5)
            {
                return(WsatKeys.MsdtcClusterRegKey_OS6);
            }
            ClusterRegistryConfigurationProvider clusterReg = new ClusterRegistryConfigurationProvider(this.hClusterDtcResource, WsatKeys.MsdtcClusterDataPointerRegKey_OS5);

            using (clusterReg)
            {
                //the default value
                string subKey = clusterReg.ReadString(string.Empty, string.Empty);
                if (!string.IsNullOrEmpty(subKey))
                {
                    return(subKey);
                }
            }
            RegistryExceptionHelper registryExceptionHelper = new RegistryExceptionHelper(WsatKeys.MsdtcClusterDataPointerRegKey_OS5);

            throw registryExceptionHelper.CreateRegistryAccessException(null);
        }
        //
        // LH: Cluster\Resources\GUID_OF_DTC\MSDTCPrivate\MSDTC
        // W2k3: Cluster\Resources\GUID_OF_DTC\SOME_GUID\, here SOME_GUID is the default value of GUID_OF_DTC\DataPointer\
        //       
        string GetClusterMstdcRegistryKey()
        {
            Debug.Assert(IsClustered);

            if (Utilities.OSMajor > 5)
            {
                return WsatKeys.MsdtcClusterRegKey_OS6;
            }
            ClusterRegistryConfigurationProvider clusterReg = new ClusterRegistryConfigurationProvider(this.hClusterDtcResource, WsatKeys.MsdtcClusterDataPointerRegKey_OS5);
            using (clusterReg)
            {
                //the default value 
                string subKey = clusterReg.ReadString(string.Empty, string.Empty);
                if (!string.IsNullOrEmpty(subKey))
                {
                    return subKey;
                }
            }
            RegistryExceptionHelper registryExceptionHelper = new RegistryExceptionHelper(WsatKeys.MsdtcClusterDataPointerRegKey_OS5);
            throw registryExceptionHelper.CreateRegistryAccessException(null);
        }