1 // Licensed to the .NET Foundation under one or more agreements.
2 // The .NET Foundation licenses this file to you under the MIT license.
3 // See the LICENSE file in the project root for more information.
4 
5 internal partial class Interop
6 {
7     internal partial class mincore
8     {
9         internal partial class RegistryOptions
10         {
11             internal const int REG_OPTION_NON_VOLATILE = 0x0000;     // (default) keys are persisted beyond reboot/unload
12             internal const int REG_OPTION_VOLATILE = 0x0001;        // All keys created by the function are volatile
13             internal const int REG_OPTION_CREATE_LINK = 0x0002;     // They key is a symbolic link
14             internal const int REG_OPTION_BACKUP_RESTORE = 0x0004;  // Use SE_BACKUP_NAME process special privileges
15         }
16 
17         internal partial class RegistryView
18         {
19             internal const int KEY_WOW64_64KEY = 0x0100;
20             internal const int KEY_WOW64_32KEY = 0x0200;
21         }
22 
23         internal partial class RegistryOperations
24         {
25             internal const int KEY_QUERY_VALUE = 0x0001;
26             internal const int KEY_SET_VALUE = 0x0002;
27             internal const int KEY_CREATE_SUB_KEY = 0x0004;
28             internal const int KEY_ENUMERATE_SUB_KEYS = 0x0008;
29             internal const int KEY_NOTIFY = 0x0010;
30             internal const int KEY_CREATE_LINK = 0x0020;
31             internal const int KEY_READ = ((STANDARD_RIGHTS_READ |
32                                                                KEY_QUERY_VALUE |
33                                                                KEY_ENUMERATE_SUB_KEYS |
34                                                                KEY_NOTIFY)
35                                                               &
36                                                               (~SYNCHRONIZE));
37 
38             internal const int KEY_WRITE = ((STANDARD_RIGHTS_WRITE |
39                                                                KEY_SET_VALUE |
40                                                                KEY_CREATE_SUB_KEY)
41                                                               &
42                                                               (~SYNCHRONIZE));
43 
44             internal const int SYNCHRONIZE = 0x00100000;
45             internal const int READ_CONTROL = 0x00020000;
46             internal const int STANDARD_RIGHTS_READ = READ_CONTROL;
47             internal const int STANDARD_RIGHTS_WRITE = READ_CONTROL;
48         }
49 
50         internal partial class RegistryValues
51         {
52             internal const int REG_NONE = 0;                // No value type
53             internal const int REG_SZ = 1;                  // Unicode nul terminated string
54             internal const int REG_EXPAND_SZ = 2;           // Unicode nul terminated string
55             // (with environment variable references)
56             internal const int REG_BINARY = 3;              // Free form binary
57             internal const int REG_DWORD = 4;               // 32-bit number
58             internal const int REG_DWORD_LITTLE_ENDIAN = 4; // 32-bit number (same as REG_DWORD)
59             internal const int REG_DWORD_BIG_ENDIAN = 5;    // 32-bit number
60             internal const int REG_LINK = 6;                // Symbolic Link (Unicode)
61             internal const int REG_MULTI_SZ = 7;            // Multiple Unicode strings
62             internal const int REG_QWORD = 11;             // 64-bit number
63         }
64     }
65 }
66