source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/winreg.h@ 1181

Last change on this file since 1181 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 17.8 KB
Line 
1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _WINREG_
7#define _WINREG_
8
9#include <_mingw_unicode.h>
10#include <winapifamily.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16#ifndef WINVER
17#define WINVER 0x0502
18#endif
19
20#define RRF_RT_REG_NONE 0x00000001
21#define RRF_RT_REG_SZ 0x00000002
22#define RRF_RT_REG_EXPAND_SZ 0x00000004
23#define RRF_RT_REG_BINARY 0x00000008
24#define RRF_RT_REG_DWORD 0x00000010
25#define RRF_RT_REG_MULTI_SZ 0x00000020
26#define RRF_RT_REG_QWORD 0x00000040
27
28#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
29#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
30#define RRF_RT_ANY 0x0000ffff
31
32#if (_WIN32_WINNT >= 0x0A00)
33#define RRF_SUBKEY_WOW6464KEY 0x00010000
34#define RRF_SUBKEY_WOW6432KEY 0x00020000
35#define RRF_WOW64_MASK 0x00030000
36#endif
37
38#define RRF_NOEXPAND 0x10000000
39#define RRF_ZEROONFAILURE 0x20000000
40
41#define REG_PROCESS_APPKEY 0x00000001
42
43 typedef ACCESS_MASK REGSAM;
44 typedef LONG LSTATUS;
45
46#define HKEY_CLASSES_ROOT ((HKEY) (ULONG_PTR)((LONG)0x80000000))
47#define HKEY_CURRENT_USER ((HKEY) (ULONG_PTR)((LONG)0x80000001))
48#define HKEY_LOCAL_MACHINE ((HKEY) (ULONG_PTR)((LONG)0x80000002))
49#define HKEY_USERS ((HKEY) (ULONG_PTR)((LONG)0x80000003))
50#define HKEY_PERFORMANCE_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000004))
51#define HKEY_PERFORMANCE_TEXT ((HKEY) (ULONG_PTR)((LONG)0x80000050))
52#define HKEY_PERFORMANCE_NLSTEXT ((HKEY) (ULONG_PTR)((LONG)0x80000060))
53#if (WINVER >= 0x0400)
54#define HKEY_CURRENT_CONFIG ((HKEY) (ULONG_PTR)((LONG)0x80000005))
55#define HKEY_DYN_DATA ((HKEY) (ULONG_PTR)((LONG)0x80000006))
56#define HKEY_CURRENT_USER_LOCAL_SETTINGS ((HKEY) (ULONG_PTR)((LONG)0x80000007))
57
58#ifndef _PROVIDER_STRUCTS_DEFINED
59#define _PROVIDER_STRUCTS_DEFINED
60
61#define PROVIDER_KEEPS_VALUE_LENGTH 0x1
62 struct val_context {
63 int valuelen;
64 LPVOID value_context;
65 LPVOID val_buff_ptr;
66 };
67
68 typedef struct val_context *PVALCONTEXT;
69
70 typedef struct pvalueA {
71 LPSTR pv_valuename;
72 int pv_valuelen;
73 LPVOID pv_value_context;
74 DWORD pv_type;
75 }PVALUEA,*PPVALUEA;
76
77 typedef struct pvalueW {
78 LPWSTR pv_valuename;
79 int pv_valuelen;
80 LPVOID pv_value_context;
81 DWORD pv_type;
82 }PVALUEW,*PPVALUEW;
83
84 __MINGW_TYPEDEF_AW(PVALUE)
85 __MINGW_TYPEDEF_AW(PPVALUE)
86
87 typedef DWORD __cdecl QUERYHANDLER(LPVOID keycontext,PVALCONTEXT val_list,DWORD num_vals,LPVOID outputbuffer,DWORD *total_outlen,DWORD input_blen);
88
89 typedef QUERYHANDLER *PQUERYHANDLER;
90
91 typedef struct provider_info {
92 PQUERYHANDLER pi_R0_1val;
93 PQUERYHANDLER pi_R0_allvals;
94 PQUERYHANDLER pi_R3_1val;
95 PQUERYHANDLER pi_R3_allvals;
96 DWORD pi_flags;
97 LPVOID pi_key_context;
98 } REG_PROVIDER;
99
100 typedef struct provider_info *PPROVIDER;
101
102 typedef struct value_entA {
103 LPSTR ve_valuename;
104 DWORD ve_valuelen;
105 DWORD_PTR ve_valueptr;
106 DWORD ve_type;
107 } VALENTA,*PVALENTA;
108
109 typedef struct value_entW {
110 LPWSTR ve_valuename;
111 DWORD ve_valuelen;
112 DWORD_PTR ve_valueptr;
113 DWORD ve_type;
114 } VALENTW,*PVALENTW;
115
116 __MINGW_TYPEDEF_AW(VALENT)
117 __MINGW_TYPEDEF_AW(PVALENT)
118#endif
119#endif
120
121#define WIN31_CLASS NULL
122
123#if WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP)
124
125#define REG_MUI_STRING_TRUNCATE 0x00000001
126
127#if (WINVER >= 0x0400)
128#define REG_SECURE_CONNECTION 1
129#endif
130
131#define RegConnectRegistry __MINGW_NAME_AW(RegConnectRegistry)
132#define RegConnectRegistryEx __MINGW_NAME_AW(RegConnectRegistryEx)
133#define RegCreateKey __MINGW_NAME_AW(RegCreateKey)
134#define RegCreateKeyEx __MINGW_NAME_AW(RegCreateKeyEx)
135#define RegDeleteKey __MINGW_NAME_AW(RegDeleteKey)
136#define RegDeleteKeyEx __MINGW_NAME_AW(RegDeleteKeyEx)
137#define RegDeleteValue __MINGW_NAME_AW(RegDeleteValue)
138#define RegEnumKey __MINGW_NAME_AW(RegEnumKey)
139#define RegEnumKeyEx __MINGW_NAME_AW(RegEnumKeyEx)
140#define RegEnumValue __MINGW_NAME_AW(RegEnumValue)
141#define RegLoadKey __MINGW_NAME_AW(RegLoadKey)
142#define RegOpenKey __MINGW_NAME_AW(RegOpenKey)
143#define RegOpenKeyEx __MINGW_NAME_AW(RegOpenKeyEx)
144#define RegQueryInfoKey __MINGW_NAME_AW(RegQueryInfoKey)
145#define RegQueryValue __MINGW_NAME_AW(RegQueryValue)
146#define RegQueryMultipleValues __MINGW_NAME_AW(RegQueryMultipleValues)
147#define RegQueryValueEx __MINGW_NAME_AW(RegQueryValueEx)
148#define RegReplaceKey __MINGW_NAME_AW(RegReplaceKey)
149#define RegRestoreKey __MINGW_NAME_AW(RegRestoreKey)
150#define RegSaveKey __MINGW_NAME_AW(RegSaveKey)
151#define RegSetValue __MINGW_NAME_AW(RegSetValue)
152#define RegSetValueEx __MINGW_NAME_AW(RegSetValueEx)
153#define RegUnLoadKey __MINGW_NAME_AW(RegUnLoadKey)
154#define RegGetValue __MINGW_NAME_AW(RegGetValue)
155#define InitiateSystemShutdown __MINGW_NAME_AW(InitiateSystemShutdown)
156#define AbortSystemShutdown __MINGW_NAME_AW(AbortSystemShutdown)
157
158 WINADVAPI LONG WINAPI RegCloseKey(HKEY hKey);
159 WINADVAPI LONG WINAPI RegOverridePredefKey(HKEY hKey,HKEY hNewHKey);
160 WINADVAPI LONG WINAPI RegOpenUserClassesRoot(HANDLE hToken,DWORD dwOptions,REGSAM samDesired,PHKEY phkResult);
161 WINADVAPI LONG WINAPI RegOpenCurrentUser(REGSAM samDesired,PHKEY phkResult);
162 WINADVAPI LONG WINAPI RegDisablePredefinedCache(void);
163 WINADVAPI LONG WINAPI RegDisablePredefinedCacheEx(void);
164 WINADVAPI LONG WINAPI RegConnectRegistryA(LPCSTR lpMachineName,HKEY hKey,PHKEY phkResult);
165 WINADVAPI LONG WINAPI RegConnectRegistryW(LPCWSTR lpMachineName,HKEY hKey,PHKEY phkResult);
166 WINADVAPI LONG WINAPI RegConnectRegistryExA(LPCSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
167 WINADVAPI LONG WINAPI RegConnectRegistryExW(LPCWSTR lpMachineName,HKEY hKey,ULONG Flags,PHKEY phkResult);
168 WINADVAPI LONG WINAPI RegCreateKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
169 WINADVAPI LONG WINAPI RegCreateKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
170 WINADVAPI LONG WINAPI RegCreateKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD Reserved,LPSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
171 WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD Reserved,LPWSTR lpClass,DWORD dwOptions,REGSAM samDesired,LPSECURITY_ATTRIBUTES lpSecurityAttributes,PHKEY phkResult,LPDWORD lpdwDisposition);
172 WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY hKey,LPCSTR lpSubKey);
173 WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY hKey,LPCWSTR lpSubKey);
174 WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY hKey,LPCSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
175 WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY hKey,LPCWSTR lpSubKey,REGSAM samDesired,DWORD Reserved);
176 WINADVAPI LONG WINAPI RegDisableReflectionKey(HKEY hBase);
177 WINADVAPI LONG WINAPI RegEnableReflectionKey(HKEY hBase);
178 WINADVAPI LONG WINAPI RegQueryReflectionKey(HKEY hBase,WINBOOL *bIsReflectionDisabled);
179 WINADVAPI LONG WINAPI RegDeleteValueA(HKEY hKey,LPCSTR lpValueName);
180 WINADVAPI LONG WINAPI RegDeleteValueW(HKEY hKey,LPCWSTR lpValueName);
181 WINADVAPI LONG WINAPI RegEnumKeyA(HKEY hKey,DWORD dwIndex,LPSTR lpName,DWORD cchName);
182 WINADVAPI LONG WINAPI RegEnumKeyW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,DWORD cchName);
183 WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY hKey,DWORD dwIndex,LPSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
184 WINADVAPI LONG WINAPI RegEnumKeyExW(HKEY hKey,DWORD dwIndex,LPWSTR lpName,LPDWORD lpcchName,LPDWORD lpReserved,LPWSTR lpClass,LPDWORD lpcchClass,PFILETIME lpftLastWriteTime);
185 WINADVAPI LONG WINAPI RegEnumValueA(HKEY hKey,DWORD dwIndex,LPSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
186 WINADVAPI LONG WINAPI RegEnumValueW(HKEY hKey,DWORD dwIndex,LPWSTR lpValueName,LPDWORD lpcchValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
187 WINADVAPI LONG WINAPI RegFlushKey(HKEY hKey);
188 WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor,LPDWORD lpcbSecurityDescriptor);
189 WINADVAPI LONG WINAPI RegLoadKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpFile);
190 WINADVAPI LONG WINAPI RegLoadKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpFile);
191 WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY hKey,WINBOOL bWatchSubtree,DWORD dwNotifyFilter,HANDLE hEvent,WINBOOL fAsynchronous);
192 WINADVAPI LONG WINAPI RegOpenKeyA(HKEY hKey,LPCSTR lpSubKey,PHKEY phkResult);
193 WINADVAPI LONG WINAPI RegOpenKeyW(HKEY hKey,LPCWSTR lpSubKey,PHKEY phkResult);
194 WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY hKey,LPCSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
195 WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY hKey,LPCWSTR lpSubKey,DWORD ulOptions,REGSAM samDesired,PHKEY phkResult);
196 WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY hKey,LPSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
197 WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY hKey,LPWSTR lpClass,LPDWORD lpcchClass,LPDWORD lpReserved,LPDWORD lpcSubKeys,LPDWORD lpcbMaxSubKeyLen,LPDWORD lpcbMaxClassLen,LPDWORD lpcValues,LPDWORD lpcbMaxValueNameLen,LPDWORD lpcbMaxValueLen,LPDWORD lpcbSecurityDescriptor,PFILETIME lpftLastWriteTime);
198 WINADVAPI LONG WINAPI RegQueryValueA(HKEY hKey,LPCSTR lpSubKey,LPSTR lpData,PLONG lpcbData);
199 WINADVAPI LONG WINAPI RegQueryValueW(HKEY hKey,LPCWSTR lpSubKey,LPWSTR lpData,PLONG lpcbData);
200 WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY hKey,PVALENTA val_list,DWORD num_vals,LPSTR lpValueBuf,LPDWORD ldwTotsize);
201 WINADVAPI LONG WINAPI RegQueryMultipleValuesW(HKEY hKey,PVALENTW val_list,DWORD num_vals,LPWSTR lpValueBuf,LPDWORD ldwTotsize);
202 WINADVAPI LONG WINAPI RegQueryValueExA(HKEY hKey,LPCSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
203 WINADVAPI LONG WINAPI RegQueryValueExW(HKEY hKey,LPCWSTR lpValueName,LPDWORD lpReserved,LPDWORD lpType,LPBYTE lpData,LPDWORD lpcbData);
204 WINADVAPI LONG WINAPI RegReplaceKeyA(HKEY hKey,LPCSTR lpSubKey,LPCSTR lpNewFile,LPCSTR lpOldFile);
205 WINADVAPI LONG WINAPI RegReplaceKeyW(HKEY hKey,LPCWSTR lpSubKey,LPCWSTR lpNewFile,LPCWSTR lpOldFile);
206 WINADVAPI LONG WINAPI RegRestoreKeyA(HKEY hKey,LPCSTR lpFile,DWORD dwFlags);
207 WINADVAPI LONG WINAPI RegRestoreKeyW(HKEY hKey,LPCWSTR lpFile,DWORD dwFlags);
208 WINADVAPI LONG WINAPI RegSaveKeyA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
209 WINADVAPI LONG WINAPI RegSaveKeyW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes);
210 WINADVAPI LONG WINAPI RegSetKeySecurity(HKEY hKey,SECURITY_INFORMATION SecurityInformation,PSECURITY_DESCRIPTOR pSecurityDescriptor);
211 WINADVAPI LONG WINAPI RegSetValueA(HKEY hKey,LPCSTR lpSubKey,DWORD dwType,LPCSTR lpData,DWORD cbData);
212 WINADVAPI LONG WINAPI RegSetValueW(HKEY hKey,LPCWSTR lpSubKey,DWORD dwType,LPCWSTR lpData,DWORD cbData);
213 WINADVAPI LONG WINAPI RegSetValueExA(HKEY hKey,LPCSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
214 WINADVAPI LONG WINAPI RegSetValueExW(HKEY hKey,LPCWSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE *lpData,DWORD cbData);
215 WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY hKey,LPCSTR lpSubKey);
216 WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY hKey,LPCWSTR lpSubKey);
217 WINADVAPI LONG WINAPI RegGetValueA(HKEY hkey,LPCSTR lpSubKey,LPCSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
218 WINADVAPI LONG WINAPI RegGetValueW(HKEY hkey,LPCWSTR lpSubKey,LPCWSTR lpValue,DWORD dwFlags,LPDWORD pdwType,PVOID pvData,LPDWORD pcbData);
219 WINADVAPI WINBOOL WINAPI InitiateSystemShutdownA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
220 WINADVAPI WINBOOL WINAPI InitiateSystemShutdownW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown);
221 WINADVAPI WINBOOL WINAPI AbortSystemShutdownA(LPSTR lpMachineName);
222 WINADVAPI WINBOOL WINAPI AbortSystemShutdownW(LPWSTR lpMachineName);
223
224#include <reason.h>
225
226#define REASON_SWINSTALL SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_INSTALLATION
227#define REASON_HWINSTALL SHTDN_REASON_MAJOR_HARDWARE|SHTDN_REASON_MINOR_INSTALLATION
228#define REASON_SERVICEHANG SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_HUNG
229#define REASON_UNSTABLE SHTDN_REASON_MAJOR_SYSTEM|SHTDN_REASON_MINOR_UNSTABLE
230#define REASON_SWHWRECONF SHTDN_REASON_MAJOR_SOFTWARE|SHTDN_REASON_MINOR_RECONFIG
231#define REASON_OTHER SHTDN_REASON_MAJOR_OTHER|SHTDN_REASON_MINOR_OTHER
232#define REASON_UNKNOWN SHTDN_REASON_UNKNOWN
233#define REASON_LEGACY_API SHTDN_REASON_LEGACY_API
234#define REASON_PLANNED_FLAG SHTDN_REASON_FLAG_PLANNED
235
236#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)
237
238#define InitiateSystemShutdownEx __MINGW_NAME_AW(InitiateSystemShutdownEx)
239#define RegSaveKeyEx __MINGW_NAME_AW(RegSaveKeyEx)
240
241 WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExA(LPSTR lpMachineName,LPSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
242 WINADVAPI WINBOOL WINAPI InitiateSystemShutdownExW(LPWSTR lpMachineName,LPWSTR lpMessage,DWORD dwTimeout,WINBOOL bForceAppsClosed,WINBOOL bRebootAfterShutdown,DWORD dwReason);
243 WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY hKey,LPCSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
244 WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY hKey,LPCWSTR lpFile,LPSECURITY_ATTRIBUTES lpSecurityAttributes,DWORD Flags);
245 WINADVAPI LONG WINAPI Wow64Win32ApiEntry (DWORD dwFuncNumber,DWORD dwFlag,DWORD dwRes);
246
247#if (_WIN32_WINNT >= 0x0600)
248
249#define RegCopyTree __MINGW_NAME_AW(RegCopyTree)
250WINADVAPI LONG WINAPI RegCopyTreeA(
251 HKEY hKeySrc,
252 LPCSTR lpSubKey,
253 HKEY hKeyDest
254);
255
256WINADVAPI LONG WINAPI RegCopyTreeW(
257 HKEY hKeySrc,
258 LPCWSTR lpSubKey,
259 HKEY hKeyDest
260);
261
262#define RegCreateKeyTransacted __MINGW_NAME_AW(RegCreateKeyTransacted)
263WINADVAPI LONG WINAPI RegCreateKeyTransactedA(
264 HKEY hKey,
265 LPCSTR lpSubKey,
266 DWORD Reserved,
267 LPSTR lpClass,
268 DWORD dwOptions,
269 REGSAM samDesired,
270 const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
271 PHKEY phkResult,
272 LPDWORD lpdwDisposition,
273 HANDLE hTransaction,
274 PVOID pExtendedParemeter
275);
276
277WINADVAPI LONG WINAPI RegCreateKeyTransactedW(
278 HKEY hKey,
279 LPCWSTR lpSubKey,
280 DWORD Reserved,
281 LPWSTR lpClass,
282 DWORD dwOptions,
283 REGSAM samDesired,
284 const LPSECURITY_ATTRIBUTES lpSecurityAttributes,
285 PHKEY phkResult,
286 LPDWORD lpdwDisposition,
287 HANDLE hTransaction,
288 PVOID pExtendedParemeter
289);
290
291#define RegDeleteKeyTransacted __MINGW_NAME_AW(RegDeleteKeyTransacted)
292WINADVAPI LONG WINAPI RegDeleteKeyTransactedA(
293 HKEY hKey,
294 LPCSTR lpSubKey,
295 REGSAM samDesired,
296 DWORD Reserved,
297 HANDLE hTransaction,
298 PVOID pExtendedParameter
299);
300
301WINADVAPI LONG WINAPI RegDeleteKeyTransactedW(
302 HKEY hKey,
303 LPCWSTR lpSubKey,
304 REGSAM samDesired,
305 DWORD Reserved,
306 HANDLE hTransaction,
307 PVOID pExtendedParameter
308);
309
310#define RegDeleteKeyValue __MINGW_NAME_AW(RegDeleteKeyValue)
311WINADVAPI LONG WINAPI RegDeleteKeyValueA(
312 HKEY hKey,
313 LPCSTR lpSubKey,
314 LPCSTR lpValueName
315);
316
317WINADVAPI LONG WINAPI RegDeleteKeyValueW(
318 HKEY hKey,
319 LPCWSTR lpSubKey,
320 LPCWSTR lpValueName
321);
322
323#define RegDeleteTree __MINGW_NAME_AW(RegDeleteTree)
324WINADVAPI LONG WINAPI RegDeleteTreeA(
325 HKEY hKey,
326 LPCSTR lpSubKey
327);
328
329WINADVAPI LONG WINAPI RegDeleteTreeW(
330 HKEY hKey,
331 LPCWSTR lpSubKey
332);
333
334WINADVAPI LONG WINAPI RegLoadAppKeyA(
335 LPCSTR lpFile,
336 PHKEY phkResult,
337 REGSAM samDesired,
338 DWORD dwOptions,
339 DWORD Reserved
340);
341
342WINADVAPI LONG WINAPI RegLoadAppKeyW(
343 LPCWSTR lpFile,
344 PHKEY phkResult,
345 REGSAM samDesired,
346 DWORD dwOptions,
347 DWORD Reserved
348);
349
350#define RegLoadAppKey __MINGW_NAME_AW(RegLoadAppKey)
351
352WINADVAPI LONG WINAPI RegLoadMUIStringA(HKEY hKey, LPCSTR pszValue, LPSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCSTR pszDirectory);
353WINADVAPI LONG WINAPI RegLoadMUIStringW(HKEY hKey, LPCWSTR pszValue, LPWSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCWSTR pszDirectory);
354
355#define RegLoadMUIString __MINGW_NAME_AW(RegLoadMUIString)
356
357WINADVAPI LONG WINAPI RegOpenKeyTransactedA(
358 HKEY hKey,
359 LPCSTR lpSubKey,
360 DWORD ulOptions,
361 REGSAM samDesired,
362 PHKEY phkResult,
363 HANDLE hTransaction,
364 PVOID pExtendedParameter
365);
366
367WINADVAPI LONG WINAPI RegOpenKeyTransactedW(
368 HKEY hKey,
369 LPCWSTR lpSubKey,
370 DWORD ulOptions,
371 REGSAM samDesired,
372 PHKEY phkResult,
373 HANDLE hTransaction,
374 PVOID pExtendedParameter
375);
376
377WINADVAPI LONG WINAPI RegRenameKey(
378 HKEY hKey,
379 LPCWSTR lpSubKeyName,
380 LPCWSTR lpNewKeyName);
381
382#define RegOpenKeyTransacted __MINGW_NAME_AW(RegOpenKeyTransacted)
383
384WINADVAPI LONG WINAPI RegSetKeyValueA(
385 HKEY hKey,
386 LPCSTR lpSubKey,
387 LPCSTR lpValueName,
388 DWORD dwType,
389 LPCVOID lpData,
390 DWORD cbData
391);
392
393WINADVAPI LONG WINAPI RegSetKeyValueW(
394 HKEY hKey,
395 LPCWSTR lpSubKey,
396 LPCWSTR lpValueName,
397 DWORD dwType,
398 LPCVOID lpData,
399 DWORD cbData
400);
401#define RegSetKeyValue __MINGW_NAME_AW(RegSetKeyValue)
402
403#define SHUTDOWN_FORCE_OTHERS 0x00000001
404#define SHUTDOWN_FORCE_SELF 0x00000002
405#define SHUTDOWN_RESTART 0x00000004
406#define SHUTDOWN_POWEROFF 0x00000008
407#define SHUTDOWN_NOREBOOT 0x00000010
408#define SHUTDOWN_GRACE_OVERRIDE 0x00000020
409#define SHUTDOWN_INSTALL_UPDATES 0x00000040
410#define SHUTDOWN_RESTARTAPPS 0x00000080
411#define SHUTDOWN_SKIP_SVC_PRESHUTDOWN 0x00000100
412#define SHUTDOWN_HYBRID 0x00000200
413#define SHUTDOWN_RESTART_BOOTOPTIONS 0x00000400
414#define SHUTDOWN_SOFT_REBOOT 0x00000800
415#define SHUTDOWN_MOBILE_UI 0x00001000
416#define SHUTDOWN_ARSO 0x00002000
417
418WINADVAPI DWORD WINAPI InitiateShutdownA(
419 LPSTR lpMachineName,
420 LPSTR lpMessage,
421 DWORD dwGracePeriod,
422 DWORD dwShutdownFlags,
423 DWORD dwReason
424);
425
426WINADVAPI DWORD WINAPI InitiateShutdownW(
427 LPWSTR lpMachineName,
428 LPWSTR lpMessage,
429 DWORD dwGracePeriod,
430 DWORD dwShutdownFlags,
431 DWORD dwReason
432);
433
434#define InitiateShutdown __MINGW_NAME_AW(InitiateShutdown)
435
436WINADVAPI DWORD WINAPI CheckForHiberboot(
437 PBOOLEAN pHiberboot,
438 BOOLEAN bClearFlag
439);
440
441#endif /* (_WIN32_WINNT >= 0x0600) */
442
443#endif /* WINAPI_FAMILY_PARTITION (WINAPI_PARTITION_DESKTOP) */
444
445#ifdef __cplusplus
446}
447#endif
448#endif
Note: See TracBrowser for help on using the repository browser.