1 // Copyright © 2016, Peter Atashian
2 // Licensed under the MIT License <LICENSE.md>
3 use super::*;
4 pub type REGSAM = ACCESS_MASK;
5 STRUCT!{struct VALENTA {
6     ve_valuename: LPSTR,
7     ve_valuelen: DWORD,
8     ve_valueptr: DWORD_PTR,
9     ve_type: DWORD,
10 }}
11 pub type PVALENTA = *mut VALENTA;
12 STRUCT!{struct VALENTW {
13     ve_valuename: LPWSTR,
14     ve_valuelen: DWORD,
15     ve_valueptr: DWORD_PTR,
16     ve_type: DWORD,
17 }}
18 pub type PVALENTW = *mut VALENTW;
19 pub const HKEY_CLASSES_ROOT: HKEY = 0x80000000 as HKEY;
20 pub const HKEY_CURRENT_USER: HKEY = 0x80000001 as HKEY;
21 pub const HKEY_LOCAL_MACHINE: HKEY = 0x80000002 as HKEY;
22 pub const HKEY_USERS: HKEY = 0x80000003 as HKEY;
23 pub const HKEY_PERFORMANCE_DATA: HKEY = 0x80000004 as HKEY;
24 pub const HKEY_PERFORMANCE_TEXT: HKEY = 0x80000050 as HKEY;
25 pub const HKEY_PERFORMANCE_NLSTEXT: HKEY = 0x80000060 as HKEY;
26 pub const HKEY_CURRENT_CONFIG: HKEY = 0x80000005 as HKEY;
27 pub const HKEY_DYN_DATA: HKEY = 0x80000006 as HKEY;
28 pub const HKEY_CURRENT_USER_LOCAL_SETTINGS: HKEY = 0x80000007 as HKEY;
29 pub const REG_MUI_STRING_TRUNCATE: DWORD = 0x00000001;
30 pub const RRF_RT_REG_NONE: DWORD = 0x00000001;
31 pub const RRF_RT_REG_SZ: DWORD = 0x00000002;
32 pub const RRF_RT_REG_EXPAND_SZ: DWORD = 0x00000004;
33 pub const RRF_RT_REG_BINARY: DWORD = 0x00000008;
34 pub const RRF_RT_REG_DWORD: DWORD = 0x00000010;
35 pub const RRF_RT_REG_MULTI_SZ: DWORD = 0x00000020;
36 pub const RRF_RT_REG_QWORD: DWORD = 0x00000040;
37 pub const RRF_RT_DWORD: DWORD = RRF_RT_REG_BINARY|RRF_RT_REG_DWORD;
38 pub const RRF_RT_QWORD: DWORD = RRF_RT_REG_BINARY|RRF_RT_REG_QWORD;
39 pub const RRF_RT_ANY: DWORD = 0x0000ffff;
40 pub const RRF_NOEXPAND: DWORD = 0x10000000;
41 pub const RRF_ZEROONFAILURE: DWORD = 0x20000000;
42