Example #1
0
        public NativeResultCode OpenKey(uint hKey, string subKeyName, out uint hSubKey)
        {
            var request = new RegistryRequest {
                Handle = hKey
            };
            var registry = _switch.GetRegistryFor(request);

            if (registry != null)
            {
                request.KeyFullPath = HostRegistry.CombineKeyNames(request.KeyFullPath, subKeyName);
                var result = registry.OpenKey(request);
                hSubKey = request.Handle;
                return(result);
            }
            hSubKey = 0;
            return(NativeResultCode.InvalidHandle);
        }
Example #2
0
        public NativeResultCode CreateKey(uint hKey, string subKeyName, out uint hSubKey, out RegCreationDisposition creationDisposition)
        {
            var request = new RegistryRequest {
                Handle = hKey
            };
            var registry = _switch.GetRegistryFor(request);

            request.KeyFullPath = HostRegistry.CombineKeyNames(request.KeyFullPath, subKeyName);
            if (registry != null)
            {
                var result = registry.CreateKey(request, out creationDisposition);
                hSubKey = request.Handle;
                return(result);
            }
            hSubKey             = 0;
            creationDisposition = RegCreationDisposition.NoKeyCreated;
            return(NativeResultCode.InvalidHandle);
        }