private static extern int RegOpenKeyEx(ROOT_KEY hKey, [MarshalAs(UnmanagedType.LPWStr)] string subKey, int options, KEY_ACCESS samDesired, ref UIntPtr phkResult);
private static extern int RegCreateKeyEx(ROOT_KEY hKey, [MarshalAs(UnmanagedType.LPWStr)] string subKey, int Reserved, [MarshalAs(UnmanagedType.LPWStr)] string lpClass, int dwOptions, KEY_ACCESS samDesired, ref SECURITY_ATTRIBUTES lpSecurityAttributes, ref UIntPtr phkResult, ref int lpdwDisposition);