annotate win32/winreg.d @ 1:4a9dcbd9e54f

-files of 0.13 beta -fixes so that it now compiles with the current dmd version
author marton@basel.hu
date Tue, 05 Apr 2011 20:44:01 +0200
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
1 /***********************************************************************\
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
2 * winreg.d *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
3 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
4 * Windows API header module *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
5 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
6 * Translated from MinGW Windows headers *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
7 * by Stewart Gordon *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
8 * *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
9 * Placed into public domain *
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
10 \***********************************************************************/
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
11 module win32.winreg;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
12 pragma(lib, "advapi32.lib");
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
13
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
14 private import win32.w32api, win32.winbase, win32.windef;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
15
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
16 const HKEY
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
17 HKEY_CLASSES_ROOT = cast(HKEY) 0x80000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
18 HKEY_CURRENT_USER = cast(HKEY) 0x80000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
19 HKEY_LOCAL_MACHINE = cast(HKEY) 0x80000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
20 HKEY_USERS = cast(HKEY) 0x80000003,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
21 HKEY_PERFORMANCE_DATA = cast(HKEY) 0x80000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
22 HKEY_CURRENT_CONFIG = cast(HKEY) 0x80000005,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
23 HKEY_DYN_DATA = cast(HKEY) 0x80000006;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
24
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
25 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
26 REG_OPTION_NON_VOLATILE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
27 REG_OPTION_VOLATILE
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
28 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
29
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
30 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
31 REG_CREATED_NEW_KEY = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
32 REG_OPENED_EXISTING_KEY
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
33 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
34
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
35 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
36 REG_NONE = 0,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
37 REG_SZ,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
38 REG_EXPAND_SZ,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
39 REG_BINARY,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
40 REG_DWORD_LITTLE_ENDIAN,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
41 REG_DWORD = REG_DWORD_LITTLE_ENDIAN,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
42 REG_DWORD_BIG_ENDIAN,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
43 REG_LINK,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
44 REG_MULTI_SZ,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
45 REG_RESOURCE_LIST,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
46 REG_FULL_RESOURCE_DESCRIPTOR,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
47 REG_RESOURCE_REQUIREMENTS_LIST,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
48 REG_QWORD_LITTLE_ENDIAN,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
49 REG_QWORD = REG_QWORD_LITTLE_ENDIAN
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
50 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
51
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
52 const DWORD
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
53 REG_NOTIFY_CHANGE_NAME = 1,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
54 REG_NOTIFY_CHANGE_ATTRIBUTES = 2,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
55 REG_NOTIFY_CHANGE_LAST_SET = 4,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
56 REG_NOTIFY_CHANGE_SECURITY = 8;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
57
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
58 alias ACCESS_MASK REGSAM;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
59
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
60 struct VALENTA {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
61 LPSTR ve_valuename;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
62 DWORD ve_valuelen;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
63 DWORD ve_valueptr;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
64 DWORD ve_type;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
65 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
66 alias VALENTA* PVALENTA;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
67
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
68 struct VALENTW {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
69 LPWSTR ve_valuename;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
70 DWORD ve_valuelen;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
71 DWORD ve_valueptr;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
72 DWORD ve_type;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
73 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
74 alias VALENTW* PVALENTW;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
75
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
76 // RRF - Registry Routine Flags (for RegGetValue)
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
77 static if (WINVER >= 0x600) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
78 enum : DWORD {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
79 RRF_RT_REG_NONE = 0x00000001,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
80 RRF_RT_REG_SZ = 0x00000002,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
81 RRF_RT_REG_EXPAND_SZ = 0x00000004,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
82 RRF_RT_REG_BINARY = 0x00000008,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
83 RRF_RT_REG_DWORD = 0x00000010,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
84 RRF_RT_REG_MULTI_SZ = 0x00000020,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
85 RRF_RT_REG_QWORD = 0x00000040,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
86 RRF_RT_DWORD = RRF_RT_REG_BINARY | RRF_RT_REG_DWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
87 RRF_RT_QWORD = RRF_RT_REG_BINARY | RRF_RT_REG_QWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
88 RRF_RT_ANY = 0x0000FFFF,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
89 RRF_NOEXPAND = 0x10000000,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
90 RRF_ZEROONFAILURE = 0x20000000
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
91 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
92 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
93
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
94 extern (Windows) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
95 LONG RegCloseKey(HKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
96 LONG RegConnectRegistryA(LPCSTR, HKEY, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
97 LONG RegConnectRegistryW(LPCWSTR, HKEY, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
98 LONG RegCreateKeyExA(HKEY, LPCSTR, DWORD, LPSTR, DWORD, REGSAM,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
99 LPSECURITY_ATTRIBUTES, PHKEY, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
100 LONG RegCreateKeyExW(HKEY, LPCWSTR, DWORD, LPWSTR, DWORD, REGSAM,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
101 LPSECURITY_ATTRIBUTES, PHKEY, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
102 LONG RegDeleteKeyA(HKEY, LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
103 LONG RegDeleteKeyW(HKEY, LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
104 LONG RegDeleteValueA(HKEY, LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
105 LONG RegDeleteValueW(HKEY, LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
106 LONG RegEnumKeyExA(HKEY, DWORD, LPSTR, PDWORD, PDWORD, LPSTR, PDWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
107 PFILETIME);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
108 LONG RegEnumKeyExW(HKEY, DWORD, LPWSTR, PDWORD, PDWORD, LPWSTR, PDWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
109 PFILETIME);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
110 LONG RegEnumValueA(HKEY, DWORD, LPSTR, PDWORD, PDWORD, PDWORD, LPBYTE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
111 PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
112 LONG RegEnumValueW(HKEY, DWORD, LPWSTR, PDWORD, PDWORD, PDWORD, LPBYTE,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
113 PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
114 LONG RegFlushKey(HKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
115 LONG RegLoadKeyA(HKEY, LPCSTR, LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
116 LONG RegLoadKeyW(HKEY, LPCWSTR, LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
117 LONG RegOpenKeyExA(HKEY, LPCSTR, DWORD, REGSAM, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
118 LONG RegOpenKeyExW(HKEY, LPCWSTR, DWORD, REGSAM, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
119 LONG RegQueryInfoKeyA(HKEY, LPSTR, PDWORD, PDWORD, PDWORD, PDWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
120 PDWORD, PDWORD, PDWORD, PDWORD, PDWORD, PFILETIME);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
121 LONG RegQueryInfoKeyW(HKEY, LPWSTR, PDWORD, PDWORD, PDWORD, PDWORD,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
122 PDWORD, PDWORD, PDWORD, PDWORD, PDWORD, PFILETIME);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
123 LONG RegQueryMultipleValuesA(HKEY, PVALENTA, DWORD, LPSTR, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
124 LONG RegQueryMultipleValuesW(HKEY, PVALENTW, DWORD, LPWSTR, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
125 LONG RegQueryValueExA(HKEY, LPCSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
126 LONG RegQueryValueExW(HKEY, LPCWSTR, LPDWORD, LPDWORD, LPBYTE, LPDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
127 LONG RegReplaceKeyA(HKEY, LPCSTR, LPCSTR, LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
128 LONG RegReplaceKeyW(HKEY, LPCWSTR, LPCWSTR, LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
129 LONG RegSaveKeyA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
130 LONG RegSaveKeyW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
131 LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION, PSECURITY_DESCRIPTOR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
132 LONG RegSetValueExA(HKEY, LPCSTR, DWORD, DWORD, BYTE*, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
133 LONG RegSetValueExW(HKEY, LPCWSTR, DWORD, DWORD, BYTE*, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
134 LONG RegUnLoadKeyA(HKEY, LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
135 LONG RegUnLoadKeyW(HKEY, LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
136 static if (_WIN32_WINDOWS >= 0x410) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
137 LONG RegNotifyChangeKeyValue(HKEY, BOOL, DWORD, HANDLE, BOOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
138 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
139
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
140 static if (_WIN32_WINNT_ONLY) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
141 BOOL AbortSystemShutdownA(LPCSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
142 BOOL AbortSystemShutdownW(LPCWSTR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
143 BOOL InitiateSystemShutdownA(LPSTR, LPSTR, DWORD, BOOL, BOOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
144 BOOL InitiateSystemShutdownW(LPWSTR, LPWSTR, DWORD, BOOL, BOOL);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
145 LONG RegGetKeySecurity(HKEY, SECURITY_INFORMATION,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
146 PSECURITY_DESCRIPTOR, PDWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
147 LONG RegRestoreKeyA(HKEY, LPCSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
148 LONG RegRestoreKeyW(HKEY, LPCWSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
149 LONG RegSetKeySecurity(HKEY, SECURITY_INFORMATION,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
150 PSECURITY_DESCRIPTOR);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
151
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
152 static if (_WIN32_WINNT >= 0x500) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
153 LONG RegDisablePredefinedCache();
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
154 LONG RegOpenCurrentUser(REGSAM, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
155 LONG RegOpenUserClassesRoot(HANDLE, DWORD, REGSAM, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
156 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
157
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
158 static if (_WIN32_WINNT >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
159 LONG RegSaveKeyExA(HKEY, LPCSTR, LPSECURITY_ATTRIBUTES, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
160 LONG RegSaveKeyExW(HKEY, LPCWSTR, LPSECURITY_ATTRIBUTES, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
161 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
162
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
163 static if (_WIN32_WINNT >= 0x600) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
164 LONG RegGetValueA(HKEY hkey, LPCSTR lpSubKey, LPCSTR lpValue,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
165 DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
166 LONG RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue,
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
167 DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
168 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
169 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
170
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
171 deprecated {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
172 LONG RegCreateKeyA(HKEY, LPCSTR, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
173 LONG RegCreateKeyW(HKEY, LPCWSTR, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
174 LONG RegEnumKeyA(HKEY, DWORD, LPSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
175 LONG RegEnumKeyW(HKEY, DWORD, LPWSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
176 LONG RegOpenKeyA(HKEY, LPCSTR, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
177 LONG RegOpenKeyW(HKEY, LPCWSTR, PHKEY);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
178 LONG RegQueryValueA(HKEY, LPCSTR, LPSTR, PLONG);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
179 LONG RegQueryValueW(HKEY, LPCWSTR, LPWSTR, PLONG);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
180 LONG RegSetValueA(HKEY, LPCSTR, DWORD, LPCSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
181 LONG RegSetValueW(HKEY, LPCWSTR, DWORD, LPCWSTR, DWORD);
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
182 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
183 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
184
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
185 version (Unicode) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
186 alias VALENTW VALENT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
187 alias RegConnectRegistryW RegConnectRegistry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
188 alias RegCreateKeyExW RegCreateKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
189 alias RegDeleteKeyW RegDeleteKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
190 alias RegDeleteValueW RegDeleteValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
191 alias RegEnumKeyExW RegEnumKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
192 alias RegEnumValueW RegEnumValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
193 alias RegLoadKeyW RegLoadKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
194 alias RegOpenKeyExW RegOpenKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
195 alias RegQueryInfoKeyW RegQueryInfoKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
196 alias RegQueryMultipleValuesW RegQueryMultipleValues;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
197 alias RegQueryValueExW RegQueryValueEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
198 alias RegReplaceKeyW RegReplaceKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
199 alias RegSaveKeyW RegSaveKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
200 alias RegSetValueExW RegSetValueEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
201 alias RegUnLoadKeyW RegUnLoadKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
202
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
203 static if (_WIN32_WINNT_ONLY) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
204 alias AbortSystemShutdownW AbortSystemShutdown;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
205 alias InitiateSystemShutdownW InitiateSystemShutdown;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
206 alias RegRestoreKeyW RegRestoreKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
207 static if (_WIN32_WINNT >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
208 alias RegSaveKeyExA RegSaveKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
209 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
210 static if (_WIN32_WINNT >= 0x600) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
211 alias RegGetValueW RegGetValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
212 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
213 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
214 deprecated {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
215 alias RegCreateKeyW RegCreateKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
216 alias RegEnumKeyW RegEnumKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
217 alias RegOpenKeyW RegOpenKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
218 alias RegQueryValueW RegQueryValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
219 alias RegSetValueW RegSetValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
220 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
221 } else {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
222 alias VALENTA VALENT;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
223 alias RegConnectRegistryA RegConnectRegistry;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
224 alias RegCreateKeyExA RegCreateKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
225 alias RegDeleteKeyA RegDeleteKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
226 alias RegDeleteValueA RegDeleteValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
227 alias RegEnumKeyExA RegEnumKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
228 alias RegEnumValueA RegEnumValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
229 alias RegLoadKeyA RegLoadKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
230 alias RegOpenKeyExA RegOpenKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
231 alias RegQueryInfoKeyA RegQueryInfoKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
232 alias RegQueryMultipleValuesA RegQueryMultipleValues;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
233 alias RegQueryValueExA RegQueryValueEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
234 alias RegReplaceKeyA RegReplaceKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
235 alias RegSaveKeyA RegSaveKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
236 alias RegSetValueExA RegSetValueEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
237 alias RegUnLoadKeyA RegUnLoadKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
238 static if (_WIN32_WINNT_ONLY) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
239 alias AbortSystemShutdownA AbortSystemShutdown;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
240 alias InitiateSystemShutdownA InitiateSystemShutdown;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
241 alias RegRestoreKeyW RegRestoreKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
242 static if (_WIN32_WINNT >= 0x501) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
243 alias RegSaveKeyExA RegSaveKeyEx;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
244 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
245 static if (_WIN32_WINNT >= 0x600) {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
246 alias RegGetValueA RegGetValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
247 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
248 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
249 deprecated {
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
250 alias RegCreateKeyA RegCreateKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
251 alias RegEnumKeyA RegEnumKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
252 alias RegOpenKeyA RegOpenKey;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
253 alias RegQueryValueA RegQueryValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
254 alias RegSetValueA RegSetValue;
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
255 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
256 }
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
257
4a9dcbd9e54f -files of 0.13 beta
marton@basel.hu
parents:
diff changeset
258 alias VALENT* PVALENT;