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
|
---|
13 | extern "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)
|
---|
250 | WINADVAPI LONG WINAPI RegCopyTreeA(
|
---|
251 | HKEY hKeySrc,
|
---|
252 | LPCSTR lpSubKey,
|
---|
253 | HKEY hKeyDest
|
---|
254 | );
|
---|
255 |
|
---|
256 | WINADVAPI LONG WINAPI RegCopyTreeW(
|
---|
257 | HKEY hKeySrc,
|
---|
258 | LPCWSTR lpSubKey,
|
---|
259 | HKEY hKeyDest
|
---|
260 | );
|
---|
261 |
|
---|
262 | #define RegCreateKeyTransacted __MINGW_NAME_AW(RegCreateKeyTransacted)
|
---|
263 | WINADVAPI 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 |
|
---|
277 | WINADVAPI 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)
|
---|
292 | WINADVAPI LONG WINAPI RegDeleteKeyTransactedA(
|
---|
293 | HKEY hKey,
|
---|
294 | LPCSTR lpSubKey,
|
---|
295 | REGSAM samDesired,
|
---|
296 | DWORD Reserved,
|
---|
297 | HANDLE hTransaction,
|
---|
298 | PVOID pExtendedParameter
|
---|
299 | );
|
---|
300 |
|
---|
301 | WINADVAPI 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)
|
---|
311 | WINADVAPI LONG WINAPI RegDeleteKeyValueA(
|
---|
312 | HKEY hKey,
|
---|
313 | LPCSTR lpSubKey,
|
---|
314 | LPCSTR lpValueName
|
---|
315 | );
|
---|
316 |
|
---|
317 | WINADVAPI LONG WINAPI RegDeleteKeyValueW(
|
---|
318 | HKEY hKey,
|
---|
319 | LPCWSTR lpSubKey,
|
---|
320 | LPCWSTR lpValueName
|
---|
321 | );
|
---|
322 |
|
---|
323 | #define RegDeleteTree __MINGW_NAME_AW(RegDeleteTree)
|
---|
324 | WINADVAPI LONG WINAPI RegDeleteTreeA(
|
---|
325 | HKEY hKey,
|
---|
326 | LPCSTR lpSubKey
|
---|
327 | );
|
---|
328 |
|
---|
329 | WINADVAPI LONG WINAPI RegDeleteTreeW(
|
---|
330 | HKEY hKey,
|
---|
331 | LPCWSTR lpSubKey
|
---|
332 | );
|
---|
333 |
|
---|
334 | WINADVAPI LONG WINAPI RegLoadAppKeyA(
|
---|
335 | LPCSTR lpFile,
|
---|
336 | PHKEY phkResult,
|
---|
337 | REGSAM samDesired,
|
---|
338 | DWORD dwOptions,
|
---|
339 | DWORD Reserved
|
---|
340 | );
|
---|
341 |
|
---|
342 | WINADVAPI 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 |
|
---|
352 | WINADVAPI LONG WINAPI RegLoadMUIStringA(HKEY hKey, LPCSTR pszValue, LPSTR pszOutBuf, DWORD cbOutBuf, LPDWORD pcbData, DWORD Flags, LPCSTR pszDirectory);
|
---|
353 | WINADVAPI 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 |
|
---|
357 | WINADVAPI 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 |
|
---|
367 | WINADVAPI 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 |
|
---|
377 | WINADVAPI LONG WINAPI RegRenameKey(
|
---|
378 | HKEY hKey,
|
---|
379 | LPCWSTR lpSubKeyName,
|
---|
380 | LPCWSTR lpNewKeyName);
|
---|
381 |
|
---|
382 | #define RegOpenKeyTransacted __MINGW_NAME_AW(RegOpenKeyTransacted)
|
---|
383 |
|
---|
384 | WINADVAPI LONG WINAPI RegSetKeyValueA(
|
---|
385 | HKEY hKey,
|
---|
386 | LPCSTR lpSubKey,
|
---|
387 | LPCSTR lpValueName,
|
---|
388 | DWORD dwType,
|
---|
389 | LPCVOID lpData,
|
---|
390 | DWORD cbData
|
---|
391 | );
|
---|
392 |
|
---|
393 | WINADVAPI 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 |
|
---|
418 | WINADVAPI DWORD WINAPI InitiateShutdownA(
|
---|
419 | LPSTR lpMachineName,
|
---|
420 | LPSTR lpMessage,
|
---|
421 | DWORD dwGracePeriod,
|
---|
422 | DWORD dwShutdownFlags,
|
---|
423 | DWORD dwReason
|
---|
424 | );
|
---|
425 |
|
---|
426 | WINADVAPI 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 |
|
---|
436 | WINADVAPI 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
|
---|