4 #pragma GCC system_header
10 #define HKEY_CLASSES_ROOT ((HKEY)0x80000000)
11 #define HKEY_CURRENT_USER ((HKEY)0x80000001)
12 #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002)
13 #define HKEY_USERS ((HKEY)0x80000003)
14 #define HKEY_PERFORMANCE_DATA ((HKEY)0x80000004)
15 #define HKEY_CURRENT_CONFIG ((HKEY)0x80000005)
16 #define HKEY_DYN_DATA ((HKEY)0x80000006)
17 #define REG_OPTION_VOLATILE 1
18 #define REG_OPTION_NON_VOLATILE 0
19 #define REG_CREATED_NEW_KEY 1
20 #define REG_OPENED_EXISTING_KEY 2
23 #define REG_EXPAND_SZ 2
25 #define REG_DWORD_LITTLE_ENDIAN 4
27 #define REG_DWORD_BIG_ENDIAN 5
29 #define REG_MULTI_SZ 7
30 #define REG_RESOURCE_LIST 8
31 #define REG_FULL_RESOURCE_DESCRIPTOR 9
32 #define REG_RESOURCE_REQUIREMENTS_LIST 10
33 #define REG_QWORD_LITTLE_ENDIAN 11
35 #define REG_NOTIFY_CHANGE_NAME 1
36 #define REG_NOTIFY_CHANGE_ATTRIBUTES 2
37 #define REG_NOTIFY_CHANGE_LAST_SET 4
38 #define REG_NOTIFY_CHANGE_SECURITY 8
41 typedef ACCESS_MASK REGSAM
;
42 typedef struct value_entA
{
48 typedef struct value_entW
{
54 BOOL WINAPI
AbortSystemShutdownA(LPCSTR
);
55 BOOL WINAPI
AbortSystemShutdownW(LPCWSTR
);
56 BOOL WINAPI
InitiateSystemShutdownA(LPSTR
,LPSTR
,DWORD
,BOOL
,BOOL
);
57 BOOL WINAPI
InitiateSystemShutdownW(LPWSTR
,LPWSTR
,DWORD
,BOOL
,BOOL
);
58 LONG WINAPI
RegCloseKey(HKEY
);
59 LONG WINAPI
RegConnectRegistryA(LPCSTR
,HKEY
,PHKEY
);
60 LONG WINAPI
RegConnectRegistryW(LPCWSTR
,HKEY
,PHKEY
);
61 #if (_WIN32_WINNT >= 0x0600)
62 LONG WINAPI
RegCopyTreeA(HKEY
,LPCSTR
,HKEY
);
63 LONG WINAPI
RegCopyTreeW(HKEY
,LPCWSTR
,HKEY
);
65 LONG WINAPI
RegCreateKeyA(HKEY
,LPCSTR
,PHKEY
);
66 LONG WINAPI
RegCreateKeyExA(HKEY
,LPCSTR
,DWORD
,LPSTR
,DWORD
,REGSAM
,LPSECURITY_ATTRIBUTES
,PHKEY
,PDWORD
);
67 LONG WINAPI
RegCreateKeyExW(HKEY
,LPCWSTR
,DWORD
,LPWSTR
,DWORD
,REGSAM
,LPSECURITY_ATTRIBUTES
,PHKEY
,PDWORD
);
68 LONG WINAPI
RegCreateKeyW(HKEY
,LPCWSTR
,PHKEY
);
69 LONG WINAPI
RegDeleteKeyA(HKEY
,LPCSTR
);
70 #if (_WIN32_WINNT >= 0x0600)
71 LONG WINAPI
RegDeleteKeyValueA(HKEY
,LPCSTR
,LPCSTR
);
72 LONG WINAPI
RegDeleteKeyValueW(HKEY
,LPCWSTR
,LPCWSTR
);
74 LONG WINAPI
RegDeleteKeyW(HKEY
,LPCWSTR
);
75 #if (_WIN32_WINNT >= 0x0600)
76 LONG WINAPI
RegDeleteTreeA(HKEY
,LPCSTR
);
77 LONG WINAPI
RegDeleteTreeW(HKEY
,LPCWSTR
);
79 LONG WINAPI
RegDeleteValueA(HKEY
,LPCSTR
);
80 LONG WINAPI
RegDeleteValueW(HKEY
,LPCWSTR
);
81 #if (_WIN32_WINNT >= 0x0600)
82 LONG WINAPI
RegDisablePredefinedCacheEx(VOID
);
84 LONG WINAPI
RegEnumKeyA(HKEY
,DWORD
,LPSTR
,DWORD
);
85 LONG WINAPI
RegEnumKeyW(HKEY
,DWORD
,LPWSTR
,DWORD
);
86 LONG WINAPI
RegEnumKeyExA(HKEY
,DWORD
,LPSTR
,PDWORD
,PDWORD
,LPSTR
,PDWORD
,PFILETIME
);
87 LONG WINAPI
RegEnumKeyExW(HKEY
,DWORD
,LPWSTR
,PDWORD
,PDWORD
,LPWSTR
,PDWORD
,PFILETIME
);
88 LONG WINAPI
RegEnumValueA(HKEY
,DWORD
,LPSTR
,PDWORD
,PDWORD
,PDWORD
,LPBYTE
,PDWORD
);
89 LONG WINAPI
RegEnumValueW(HKEY
,DWORD
,LPWSTR
,PDWORD
,PDWORD
,PDWORD
,LPBYTE
,PDWORD
);
90 LONG WINAPI
RegFlushKey(HKEY
);
91 LONG WINAPI
RegGetKeySecurity(HKEY
,SECURITY_INFORMATION
,PSECURITY_DESCRIPTOR
,PDWORD
);
92 LONG WINAPI
RegLoadKeyA(HKEY
,LPCSTR
,LPCSTR
);
93 LONG WINAPI
RegLoadKeyW(HKEY
,LPCWSTR
,LPCWSTR
);
94 #if (_WIN32_WINNT >= 0x0600)
95 LONG WINAPI
RegLoadMUIStringA(HKEY
,LPCSTR
,LPSTR
,ULONG
,ULONG
,LPCSTR
);
96 LONG WINAPI
RegLoadMUIStringW(HKEY
,LPCWSTR
,LPWSTR
,ULONG
,ULONG
,LPCWSTR
);
98 LONG WINAPI
RegNotifyChangeKeyValue(HKEY
,BOOL
,DWORD
,HANDLE
,BOOL
);
99 LONG WINAPI
RegOpenKeyA(HKEY
,LPCSTR
,PHKEY
);
100 LONG WINAPI
RegOpenKeyExA(HKEY
,LPCSTR
,DWORD
,REGSAM
,PHKEY
);
101 LONG WINAPI
RegOpenKeyExW(HKEY
,LPCWSTR
,DWORD
,REGSAM
,PHKEY
);
102 LONG WINAPI
RegOpenKeyW(HKEY
,LPCWSTR
,PHKEY
);
103 LONG WINAPI
RegQueryInfoKeyA(HKEY
,LPSTR
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PFILETIME
);
104 LONG WINAPI
RegQueryInfoKeyW(HKEY
,LPWSTR
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PDWORD
,PFILETIME
);
105 LONG WINAPI
RegQueryMultipleValuesA(HKEY
,PVALENTA
,DWORD
,LPSTR
,LPDWORD
);
106 LONG WINAPI
RegQueryMultipleValuesW(HKEY
,PVALENTW
,DWORD
,LPWSTR
,LPDWORD
);
107 LONG WINAPI
RegQueryValueA(HKEY
,LPCSTR
,LPSTR
,PLONG
);
108 LONG WINAPI
RegQueryValueExA(HKEY
,LPCSTR
,LPDWORD
,LPDWORD
,LPBYTE
,LPDWORD
);
109 LONG WINAPI
RegQueryValueExW(HKEY
,LPCWSTR
,LPDWORD
,LPDWORD
,LPBYTE
,LPDWORD
);
110 LONG WINAPI
RegQueryValueW(HKEY
,LPCWSTR
,LPWSTR
,PLONG
);
111 LONG WINAPI
RegReplaceKeyA(HKEY
,LPCSTR
,LPCSTR
,LPCSTR
);
112 LONG WINAPI
RegReplaceKeyW(HKEY
,LPCWSTR
,LPCWSTR
,LPCWSTR
);
113 LONG WINAPI
RegRestoreKeyA(HKEY
,LPCSTR
,DWORD
);
114 LONG WINAPI
RegRestoreKeyW(HKEY
,LPCWSTR
,DWORD
);
115 LONG WINAPI
RegSaveKeyA(HKEY
,LPCSTR
,LPSECURITY_ATTRIBUTES
);
116 LONG WINAPI
RegSaveKeyW(HKEY
,LPCWSTR
,LPSECURITY_ATTRIBUTES
);
117 LONG WINAPI
RegSetKeySecurity(HKEY
,SECURITY_INFORMATION
,PSECURITY_DESCRIPTOR
);
118 #if (_WIN32_WINNT >= 0x0600)
119 LONG WINAPI
RegSetKeyValueA(HKEY
,LPCSTR
,LPCSTR
,DWORD
,LPCVOID
,DWORD
);
120 LONG WINAPI
RegSetKeyValueW(HKEY
,LPCWSTR
,LPCWSTR
,DWORD
,LPCVOID
,DWORD
);
122 LONG WINAPI
RegSetValueA(HKEY
,LPCSTR
,DWORD
,LPCSTR
,DWORD
);
123 LONG WINAPI
RegSetValueExA(HKEY
,LPCSTR
,DWORD
,DWORD
,const BYTE
*,DWORD
);
124 LONG WINAPI
RegSetValueExW(HKEY
,LPCWSTR
,DWORD
,DWORD
,const BYTE
*,DWORD
);
125 LONG WINAPI
RegSetValueW(HKEY
,LPCWSTR
,DWORD
,LPCWSTR
,DWORD
);
126 LONG WINAPI
RegUnLoadKeyA(HKEY
,LPCSTR
);
127 LONG WINAPI
RegUnLoadKeyW(HKEY
,LPCWSTR
);
130 typedef VALENTW VALENT
,*PVALENT
;
131 #define AbortSystemShutdown AbortSystemShutdownW
132 #define InitiateSystemShutdown InitiateSystemShutdownW
133 #define RegConnectRegistry RegConnectRegistryW
134 #if (_WIN32_WINNT >= 0x0600)
135 #define RegCopyTree RegCopyTreeW
137 #define RegCreateKey RegCreateKeyW
138 #define RegCreateKeyEx RegCreateKeyExW
139 #define RegDeleteKey RegDeleteKeyW
140 #if (_WIN32_WINNT >= 0x0600)
141 #define RegDeleteKeyValue RegDeleteKeyValueW
142 #define RegDeleteTree RegDeleteTreeW
144 #define RegDeleteValue RegDeleteValueW
145 #define RegEnumKey RegEnumKeyW
146 #define RegEnumKeyEx RegEnumKeyExW
147 #define RegEnumValue RegEnumValueW
148 #define RegLoadKey RegLoadKeyW
149 #if (_WIN32_WINNT >= 0x0600)
150 #define RegLoadMUIString RegLoadMUIStringW
152 #define RegOpenKey RegOpenKeyW
153 #define RegOpenKeyEx RegOpenKeyExW
154 #define RegQueryInfoKey RegQueryInfoKeyW
155 #define RegQueryMultipleValues RegQueryMultipleValuesW
156 #define RegQueryValue RegQueryValueW
157 #define RegQueryValueEx RegQueryValueExW
158 #define RegReplaceKey RegReplaceKeyW
159 #define RegRestoreKey RegRestoreKeyW
160 #define RegSaveKey RegSaveKeyW
161 #if (_WIN32_WINNT >= 0x0600)
162 #define RegSetKeyValue RegSetKeyValueW
164 #define RegSetValue RegSetValueW
165 #define RegSetValueEx RegSetValueExW
166 #define RegUnLoadKey RegUnLoadKeyW
168 typedef VALENTA VALENT
,*PVALENT
;
169 #define AbortSystemShutdown AbortSystemShutdownA
170 #define InitiateSystemShutdown InitiateSystemShutdownA
171 #define RegConnectRegistry RegConnectRegistryA
172 #if (_WIN32_WINNT >= 0x0600)
173 #define RegCopyTree RegCopyTreeA
175 #define RegCreateKey RegCreateKeyA
176 #define RegCreateKeyEx RegCreateKeyExA
177 #define RegDeleteKey RegDeleteKeyA
178 #if (_WIN32_WINNT >= 0x0600)
179 #define RegDeleteKeyValue RegDeleteKeyValueA
180 #define RegDeleteTree RegDeleteTreeA
182 #define RegDeleteValue RegDeleteValueA
183 #define RegEnumKey RegEnumKeyA
184 #define RegEnumKeyEx RegEnumKeyExA
185 #define RegEnumValue RegEnumValueA
186 #define RegLoadKey RegLoadKeyA
187 #if (_WIN32_WINNT >= 0x0600)
188 #define RegLoadMUIString RegLoadMUIStringA
190 #define RegOpenKey RegOpenKeyA
191 #define RegOpenKeyEx RegOpenKeyExA
192 #define RegQueryInfoKey RegQueryInfoKeyA
193 #define RegQueryMultipleValues RegQueryMultipleValuesA
194 #define RegQueryValue RegQueryValueA
195 #define RegQueryValueEx RegQueryValueExA
196 #define RegReplaceKey RegReplaceKeyA
197 #define RegRestoreKey RegRestoreKeyA
198 #define RegSaveKey RegSaveKeyA
199 #if (_WIN32_WINNT >= 0x0600)
200 #define RegSetKeyValue RegSetKeyValueA
202 #define RegSetValue RegSetValueA
203 #define RegSetValueEx RegSetValueExA
204 #define RegUnLoadKey RegUnLoadKeyA