Merge pull request #697 from linquize/atom-bug
[mono.git] / mcs / class / corlib / Microsoft.Win32 / IRegistryApi.cs
index af6648b69b9453c2e0b9b105f1c5e674f58e7b3a..31a4dc681400e7d48ea4c16bb79ae5fa992f3153 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
+#if !NET_2_1
+
 using System;
 using System.Text;
 using System.Runtime.InteropServices;
+using Microsoft.Win32.SafeHandles;
 
 namespace Microsoft.Win32 {
 
@@ -44,6 +47,7 @@ namespace Microsoft.Win32 {
                void Close (RegistryKey rkey);
 
                object GetValue (RegistryKey rkey, string name, object default_value, RegistryValueOptions options);
+               RegistryValueKind GetValueKind (RegistryKey rkey, string name);
                void SetValue (RegistryKey rkey, string name, object value);
 
                int SubKeyCount (RegistryKey rkey);
@@ -55,9 +59,15 @@ namespace Microsoft.Win32 {
                string [] GetValueNames (RegistryKey rkey);
                string ToString (RegistryKey rkey);
 
-#if NET_2_0
                void SetValue (RegistryKey rkey, string name, object value, RegistryValueKind valueKind);
+
+#if NET_4_0
+               RegistryKey CreateSubKey (RegistryKey rkey, string keyname, RegistryOptions options);
+               RegistryKey FromHandle (SafeRegistryHandle handle);
+               IntPtr GetHandle (RegistryKey key);
 #endif
        }
 }
 
+#endif // NET_2_1
+