ReactOS  0.4.11-dev-195-gef016bf
winreg.h
Go to the documentation of this file.
1 #ifndef _WINREG_H
2 #define _WINREG_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 #include <reason.h>
9 
10 #define HKEY_CLASSES_ROOT ((HKEY)(LONG_PTR)(LONG)0x80000000)
11 #define HKEY_CURRENT_USER ((HKEY)(LONG_PTR)(LONG)0x80000001)
12 #define HKEY_LOCAL_MACHINE ((HKEY)(LONG_PTR)(LONG)0x80000002)
13 #define HKEY_USERS ((HKEY)(LONG_PTR)(LONG)0x80000003)
14 #define HKEY_PERFORMANCE_DATA ((HKEY)(LONG_PTR)(LONG)0x80000004)
15 #define HKEY_CURRENT_CONFIG ((HKEY)(LONG_PTR)(LONG)0x80000005)
16 #define HKEY_DYN_DATA ((HKEY)(LONG_PTR)(LONG)0x80000006)
17 #define HKEY_PERFORMANCE_TEXT ((HKEY)(LONG_PTR)(LONG)0x80000050)
18 #define HKEY_PERFORMANCE_NLSTEXT ((HKEY)(LONG_PTR)(LONG)0x80000060)
19 
20 #define REG_OPTION_VOLATILE 1
21 #define REG_OPTION_NON_VOLATILE 0
22 #define REG_CREATED_NEW_KEY 1
23 #define REG_OPENED_EXISTING_KEY 2
24 #define REG_NONE 0
25 #define REG_SZ 1
26 #define REG_EXPAND_SZ 2
27 #define REG_BINARY 3
28 #define REG_DWORD_LITTLE_ENDIAN 4
29 #define REG_DWORD 4
30 #define REG_DWORD_BIG_ENDIAN 5
31 #define REG_LINK 6
32 #define REG_MULTI_SZ 7
33 #define REG_RESOURCE_LIST 8
34 #define REG_FULL_RESOURCE_DESCRIPTOR 9
35 #define REG_RESOURCE_REQUIREMENTS_LIST 10
36 #define REG_QWORD_LITTLE_ENDIAN 11
37 #define REG_QWORD 11
38 #define REG_NOTIFY_CHANGE_NAME 1
39 #define REG_NOTIFY_CHANGE_ATTRIBUTES 2
40 #define REG_NOTIFY_CHANGE_LAST_SET 4
41 #define REG_NOTIFY_CHANGE_SECURITY 8
42 
43 /* Shutdown flags for InitiateShutdownA/W */
44 #define SHUTDOWN_FORCE_OTHERS 0x00000001
45 #define SHUTDOWN_FORCE_SELF 0x00000002
46 #define SHUTDOWN_GRACE_OVERRIDE 0x00000020
47 #define SHUTDOWN_INSTALL_UPDATES 0x00000040
48 #define SHUTDOWN_NOREBOOT 0x00000010
49 #define SHUTDOWN_POWEROFF 0x00000008
50 #define SHUTDOWN_RESTART 0x00000004
51 #define SHUTDOWN_RESTARTAPPS 0x00000080
52 
53 #define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)
54 
55 #define RRF_RT_REG_NONE (1 << 0)
56 #define RRF_RT_REG_SZ (1 << 1)
57 #define RRF_RT_REG_EXPAND_SZ (1 << 2)
58 #define RRF_RT_REG_BINARY (1 << 3)
59 #define RRF_RT_REG_DWORD (1 << 4)
60 #define RRF_RT_REG_MULTI_SZ (1 << 5)
61 #define RRF_RT_REG_QWORD (1 << 6)
62 #define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
63 #define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
64 #define RRF_RT_ANY (0x0000FFFF)
65 #define RRF_NOEXPAND (1 << 28)
66 #define RRF_ZEROONFAILURE (1 << 29)
67 
68 #ifndef RC_INVOKED
71 typedef struct value_entA {
76 } VALENTA,*PVALENTA;
77 typedef struct value_entW {
82 } VALENTW,*PVALENTW;
83 
86 
87 #if (_WIN32_WINNT >= 0x0600)
90 #endif
91 
99 
100 #if (_WIN32_WINNT >= 0x0600)
103 #endif
104 
113 
114 #if (_WIN32_WINNT >= 0x0600)
119 #endif
120 
123 
124 #if (_WIN32_WINNT >= 0x0500)
128 #endif
129 
130 #if (_WIN32_WINNT >= 0x0600)
134 #endif
135 
136 LSTATUS
137 WINAPI
139  _In_ HKEY hKey,
140  _In_ DWORD dwIndex,
142  _In_ DWORD cchName);
143 
144 LSTATUS
145 WINAPI
147  _In_ HKEY hKey,
148  _In_ DWORD dwIndex,
150  _In_ DWORD cchName);
151 
152 LSTATUS
153 WINAPI
155  _In_ HKEY hKey,
156  _In_ DWORD dwIndex,
157  _Out_writes_to_opt_(*lpcchName, *lpcchName + 1) LPSTR lpName,
158  _Inout_ LPDWORD lpcchName,
159  _Reserved_ LPDWORD lpReserved,
160  _Out_writes_to_opt_(*lpcchClass,*lpcchClass + 1) LPSTR lpClass,
161  _Inout_opt_ LPDWORD lpcchClass,
162  _Out_opt_ PFILETIME lpftLastWriteTime);
163 
164 LSTATUS
165 WINAPI
167  _In_ HKEY hKey,
168  _In_ DWORD dwIndex,
169  _Out_writes_to_opt_(*lpcchName, *lpcchName + 1) LPWSTR lpName,
170  _Inout_ LPDWORD lpcchName,
171  _Reserved_ LPDWORD lpReserved,
172  _Out_writes_to_opt_(*lpcchClass,*lpcchClass + 1) LPWSTR lpClass,
173  _Inout_opt_ LPDWORD lpcchClass,
174  _Out_opt_ PFILETIME lpftLastWriteTime);
175 
176 LSTATUS
177 WINAPI
179  _In_ HKEY hKey,
180  _In_ DWORD dwIndex,
181  _Out_writes_to_opt_(*lpcchValueName, *lpcchValueName + 1) LPSTR lpValueName,
182  _Inout_ LPDWORD lpcchValueName,
183  _Reserved_ LPDWORD lpReserved,
184  _Out_opt_ LPDWORD lpType,
185  _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
186  _Inout_opt_ LPDWORD lpcbData);
187 
188 LSTATUS
189 WINAPI
191  _In_ HKEY hKey,
192  _In_ DWORD dwIndex,
193  _Out_writes_to_opt_(*lpcchValueName, *lpcchValueName + 1) LPWSTR lpValueName,
194  _Inout_ LPDWORD lpcchValueName,
195  _Reserved_ LPDWORD lpReserved,
196  _Out_opt_ LPDWORD lpType,
197  _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
198  _Inout_opt_ LPDWORD lpcbData);
199 
200 #if (_WIN32_WINNT >= 0x0600)
201 
202 LSTATUS
203 WINAPI
205  _In_ HKEY hkey,
206  _In_opt_ LPCSTR lpSubKey,
207  _In_opt_ LPCSTR lpValue,
209  _Out_opt_ LPDWORD pdwType,
210  _When_((dwFlags & 0x7F) == RRF_RT_REG_SZ || (dwFlags & 0x7F) == RRF_RT_REG_EXPAND_SZ ||
211  (dwFlags & 0x7F) == (RRF_RT_REG_SZ | RRF_RT_REG_EXPAND_SZ) || *pdwType == REG_SZ ||
212  *pdwType == REG_EXPAND_SZ, _Post_z_)
213  _When_((dwFlags & 0x7F) == RRF_RT_REG_MULTI_SZ || *pdwType == REG_MULTI_SZ, _Post_ _NullNull_terminated_)
216 
217 LSTATUS
218 WINAPI
220  _In_ HKEY hkey,
221  _In_opt_ LPCWSTR lpSubKey,
222  _In_opt_ LPCWSTR lpValue,
223  _In_ DWORD dwFlags,
224  _Out_opt_ LPDWORD pdwType,
225  _When_((dwFlags & 0x7F) == RRF_RT_REG_SZ || (dwFlags & 0x7F) == RRF_RT_REG_EXPAND_SZ ||
226  (dwFlags & 0x7F) == (RRF_RT_REG_SZ | RRF_RT_REG_EXPAND_SZ) || *pdwType == REG_SZ ||
227  *pdwType == REG_EXPAND_SZ, _Post_z_)
228  _When_((dwFlags & 0x7F) == RRF_RT_REG_MULTI_SZ || *pdwType == REG_MULTI_SZ, _Post_ _NullNull_terminated_)
231 
232 #endif
233 
235 
236 LSTATUS
237 WINAPI
239  _In_ HKEY hKey,
241  _Out_writes_bytes_opt_(*lpcbSecurityDescriptor) PSECURITY_DESCRIPTOR pSecurityDescriptor,
242  _Inout_ LPDWORD lpcbSecurityDescriptor);
243 
246 
247 #if (_WIN32_WINNT >= 0x0600)
248 
249 LSTATUS
250 WINAPI
252  _In_ HKEY hKey,
253  _In_opt_ LPCSTR pszValue,
254  _Out_writes_bytes_opt_(cbOutBuf) LPSTR pszOutBuf,
255  _In_ DWORD cbOutBuf,
257  _In_ DWORD Flags,
258  _In_opt_ LPCSTR pszDirectory);
259 
260 LSTATUS
261 WINAPI
263  _In_ HKEY hKey,
264  _In_opt_ LPCWSTR pszValue,
265  _Out_writes_bytes_opt_(cbOutBuf) LPWSTR pszOutBuf,
266  _In_ DWORD cbOutBuf,
268  _In_ DWORD Flags,
269  _In_opt_ LPCWSTR pszDirectory);
270 
271 #endif
272 
279 
280 LSTATUS
281 WINAPI
283  _In_ HKEY hKey,
284  _Out_writes_to_opt_(*lpcchClass, *lpcchClass + 1) LPSTR lpClass,
285  _Inout_opt_ LPDWORD lpcchClass,
286  _Reserved_ LPDWORD lpReserved,
287  _Out_opt_ LPDWORD lpcSubKeys,
288  _Out_opt_ LPDWORD lpcbMaxSubKeyLen,
289  _Out_opt_ LPDWORD lpcbMaxClassLen,
290  _Out_opt_ LPDWORD lpcValues,
291  _Out_opt_ LPDWORD lpcbMaxValueNameLen,
292  _Out_opt_ LPDWORD lpcbMaxValueLen,
293  _Out_opt_ LPDWORD lpcbSecurityDescriptor,
294  _Out_opt_ PFILETIME lpftLastWriteTime);
295 
296 LSTATUS
297 WINAPI
299  _In_ HKEY hKey,
300  _Out_writes_to_opt_(*lpcchClass, *lpcchClass + 1) LPWSTR lpClass,
301  _Inout_opt_ LPDWORD lpcchClass,
302  _Reserved_ LPDWORD lpReserved,
303  _Out_opt_ LPDWORD lpcSubKeys,
304  _Out_opt_ LPDWORD lpcbMaxSubKeyLen,
305  _Out_opt_ LPDWORD lpcbMaxClassLen,
306  _Out_opt_ LPDWORD lpcValues,
307  _Out_opt_ LPDWORD lpcbMaxValueNameLen,
308  _Out_opt_ LPDWORD lpcbMaxValueLen,
309  _Out_opt_ LPDWORD lpcbSecurityDescriptor,
310  _Out_opt_ PFILETIME lpftLastWriteTime);
311 
312 LSTATUS
313 WINAPI
315  _In_ HKEY hKey,
316  _Out_writes_(num_vals) PVALENTA val_list,
317  _In_ DWORD num_vals,
318  _Out_writes_bytes_to_opt_(*ldwTotsize, *ldwTotsize) __out_data_source(REGISTRY) LPSTR lpValueBuf,
319  _Inout_opt_ LPDWORD ldwTotsize);
320 
321 LSTATUS
322 WINAPI
324  _In_ HKEY hKey,
325  _Out_writes_(num_vals) PVALENTW val_list,
326  _In_ DWORD num_vals,
327  _Out_writes_bytes_to_opt_(*ldwTotsize, *ldwTotsize) __out_data_source(REGISTRY) LPWSTR lpValueBuf,
328  _Inout_opt_ LPDWORD ldwTotsize);
329 
330 #if (_WIN32_WINNT >= 0x0600)
332 #endif
333 
334 LSTATUS
335 WINAPI
337  _In_ HKEY hKey,
338  _In_opt_ LPCSTR lpSubKey,
339  _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPSTR lpData,
340  _Inout_opt_ PLONG lpcbData);
341 
342 LSTATUS
343 WINAPI
345  _In_ HKEY hKey,
346  _In_opt_ LPCWSTR lpSubKey,
347  _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPWSTR lpData,
348  _Inout_opt_ PLONG lpcbData);
349 
350 LSTATUS
351 WINAPI
353  _In_ HKEY hKey,
354  _In_opt_ LPCSTR lpValueName,
355  _Reserved_ LPDWORD lpReserved,
356  _Out_opt_ LPDWORD lpType,
357  _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
358  _When_(lpData == NULL, _Out_opt_)
359  _When_(lpData != NULL, _Inout_opt_) LPDWORD lpcbData);
360 
361 LSTATUS
362 WINAPI
364  _In_ HKEY hKey,
365  _In_opt_ LPCWSTR lpValueName,
366  _Reserved_ LPDWORD lpReserved,
367  _Out_opt_ LPDWORD lpType,
368  _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
369  _When_(lpData == NULL, _Out_opt_)
370  _When_(lpData != NULL, _Inout_opt_) LPDWORD lpcbData);
371 
379 
380 #if (_WIN32_WINNT >= 0x0600)
381 
382 LSTATUS
383 WINAPI
385  _In_ HKEY hKey,
386  _In_opt_ LPCSTR lpSubKey,
387  _In_opt_ LPCSTR lpValueName,
388  _In_ DWORD dwType,
389  _In_reads_bytes_opt_(cbData) LPCVOID lpData,
390  _In_ DWORD cbData);
391 
392 LSTATUS
393 WINAPI
395  _In_ HKEY hKey,
396  _In_opt_ LPCWSTR lpSubKey,
397  _In_opt_ LPCWSTR lpValueName,
398  _In_ DWORD dwType,
399  _In_reads_bytes_opt_(cbData) LPCVOID lpData,
400  _In_ DWORD cbData);
401 
402 #endif
403 
404 LSTATUS
405 WINAPI
407  _In_ HKEY hKey,
408  _In_opt_ LPCSTR lpSubKey,
409  _In_ DWORD dwType,
410  _In_reads_bytes_opt_(cbData) LPCSTR lpData,
411  _In_ DWORD cbData);
412 
413 LSTATUS
414 WINAPI
416  _In_ HKEY hKey,
417  _In_opt_ LPCWSTR lpSubKey,
418  _In_ DWORD dwType,
419  _In_reads_bytes_opt_(cbData) LPCWSTR lpData,
420  _In_ DWORD cbData);
421 
422 LSTATUS
423 WINAPI
425  _In_ HKEY hKey,
426  _In_opt_ LPCSTR lpValueName,
428  _In_ DWORD dwType,
429  _In_reads_bytes_opt_(cbData) const BYTE *lpData,
430  _In_ DWORD cbData);
431 
432 LSTATUS
433 WINAPI
435  _In_ HKEY hKey,
436  _In_opt_ LPCWSTR lpValueName,
437  _Reserved_ DWORD Reserved,
438  _In_ DWORD dwType,
439  _In_reads_bytes_opt_(cbData) const BYTE *lpData,
440  _In_ DWORD cbData);
441 
444 
445 #ifdef UNICODE
446 typedef VALENTW VALENT,*PVALENT;
447 #define AbortSystemShutdown AbortSystemShutdownW
448 #define InitiateSystemShutdown InitiateSystemShutdownW
449 #define InitiateSystemShutdownEx InitiateSystemShutdownExW
450 #define RegConnectRegistry RegConnectRegistryW
451 #if (_WIN32_WINNT >= 0x0600)
452 #define InitiateShutdown InitiateShutdownW
453 #define RegCopyTree RegCopyTreeW
454 #endif
455 #define RegCreateKey RegCreateKeyW
456 #define RegCreateKeyEx RegCreateKeyExW
457 #define RegDeleteKey RegDeleteKeyW
458 #define RegDeleteKeyEx RegDeleteKeyExW
459 #if (_WIN32_WINNT >= 0x0600)
460 #define RegDeleteKeyValue RegDeleteKeyValueW
461 #define RegDeleteTree RegDeleteTreeW
462 #endif
463 #define RegDeleteValue RegDeleteValueW
464 #define RegEnumKey RegEnumKeyW
465 #define RegEnumKeyEx RegEnumKeyExW
466 #define RegEnumValue RegEnumValueW
467 #if (_WIN32_WINNT >= 0x0600)
468 #define RegGetValue RegGetValueW
469 #endif
470 #define RegLoadKey RegLoadKeyW
471 #if (_WIN32_WINNT >= 0x0600)
472 #define RegLoadMUIString RegLoadMUIStringW
473 #endif
474 #define RegOpenKey RegOpenKeyW
475 #define RegOpenKeyEx RegOpenKeyExW
476 #define RegQueryInfoKey RegQueryInfoKeyW
477 #define RegQueryMultipleValues RegQueryMultipleValuesW
478 #define RegQueryValue RegQueryValueW
479 #define RegQueryValueEx RegQueryValueExW
480 #define RegReplaceKey RegReplaceKeyW
481 #define RegRestoreKey RegRestoreKeyW
482 #define RegSaveKey RegSaveKeyW
483 #define RegSaveKeyEx RegSaveKeyExW
484 #if (_WIN32_WINNT >= 0x0600)
485 #define RegSetKeyValue RegSetKeyValueW
486 #endif
487 #define RegSetValue RegSetValueW
488 #define RegSetValueEx RegSetValueExW
489 #define RegUnLoadKey RegUnLoadKeyW
490 #else
492 #define AbortSystemShutdown AbortSystemShutdownA
493 #define InitiateSystemShutdown InitiateSystemShutdownA
494 #define InitiateSystemShutdownEx InitiateSystemShutdownExA
495 #define RegConnectRegistry RegConnectRegistryA
496 #if (_WIN32_WINNT >= 0x0600)
497 #define InitiateShutdown InitiateShutdownA
498 #define RegCopyTree RegCopyTreeA
499 #endif
500 #define RegCreateKey RegCreateKeyA
501 #define RegCreateKeyEx RegCreateKeyExA
502 #define RegDeleteKey RegDeleteKeyA
503 #define RegDeleteKeyEx RegDeleteKeyExA
504 #if (_WIN32_WINNT >= 0x0600)
505 #define RegDeleteKeyValue RegDeleteKeyValueA
506 #define RegDeleteTree RegDeleteTreeA
507 #endif
508 #define RegDeleteValue RegDeleteValueA
509 #define RegEnumKey RegEnumKeyA
510 #define RegEnumKeyEx RegEnumKeyExA
511 #define RegEnumValue RegEnumValueA
512 #if (_WIN32_WINNT >= 0x0600)
513 #define RegGetValue RegGetValueA
514 #endif
515 #define RegLoadKey RegLoadKeyA
516 #if (_WIN32_WINNT >= 0x0600)
517 #define RegLoadMUIString RegLoadMUIStringA
518 #endif
519 #define RegOpenKey RegOpenKeyA
520 #define RegOpenKeyEx RegOpenKeyExA
521 #define RegQueryInfoKey RegQueryInfoKeyA
522 #define RegQueryMultipleValues RegQueryMultipleValuesA
523 #define RegQueryValue RegQueryValueA
524 #define RegQueryValueEx RegQueryValueExA
525 #define RegReplaceKey RegReplaceKeyA
526 #define RegRestoreKey RegRestoreKeyA
527 #define RegSaveKey RegSaveKeyA
528 #define RegSaveKeyEx RegSaveKeyExA
529 #if (_WIN32_WINNT >= 0x0600)
530 #define RegSetKeyValue RegSetKeyValueA
531 #endif
532 #define RegSetValue RegSetValueA
533 #define RegSetValueEx RegSetValueExA
534 #define RegUnLoadKey RegUnLoadKeyA
535 #endif
536 #endif
537 #ifdef __cplusplus
538 }
539 #endif
540 #endif
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:1975
LONG WINAPI RegDeleteKeyValueA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL, IN LPCSTR lpValueName OPTIONAL)
Definition: reg.c:1434
DWORD *typedef PVOID
Definition: winlogon.h:61
LSTATUS WINAPI RegEnumKeyW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_opt_(cchName) LPWSTR lpName, _In_ DWORD cchName)
LSTATUS WINAPI RegQueryValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_writes_bytes_to_opt_(*lpcbData,*lpcbData) __out_data_source(REGISTRY) LPBYTE lpData, _When_(lpData==NULL, _Out_opt_) _When_(lpData!=NULL, _Inout_opt_) LPDWORD lpcbData)
LONG WINAPI RegSaveKeyExW(HKEY hKey, LPCWSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
Definition: reg.c:4762
typedef _Return_type_success_(return==ERROR_SUCCESS) LONG LSTATUS
LSTATUS WINAPI RegSetValueW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpSubKey, _In_ DWORD dwType, _In_reads_bytes_opt_(cbData) LPCWSTR lpData, _In_ DWORD cbData)
LSTATUS WINAPI RegQueryValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_writes_bytes_to_opt_(*lpcbData,*lpcbData) __out_data_source(REGISTRY) LPBYTE lpData, _When_(lpData==NULL, _Out_opt_) _When_(lpData!=NULL, _Inout_opt_) LPDWORD lpcbData)
LSTATUS WINAPI RegEnumKeyExA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_to_opt_(*lpcchName,*lpcchName+1) LPSTR lpName, _Inout_ LPDWORD lpcchName, _Reserved_ LPDWORD lpReserved, _Out_writes_to_opt_(*lpcchClass,*lpcchClass+1) LPSTR lpClass, _Inout_opt_ LPDWORD lpcchClass, _Out_opt_ PFILETIME lpftLastWriteTime)
LSTATUS WINAPI RegUnLoadKeyW(_In_ HKEY, _In_opt_ LPCWSTR)
LSTATUS WINAPI RegCloseKey(_In_ HKEY)
LSTATUS WINAPI RegFlushKey(_In_ HKEY)
LSTATUS WINAPI RegQueryValueA(_In_ HKEY hKey, _In_opt_ LPCSTR lpSubKey, _Out_writes_bytes_to_opt_(*lpcbData,*lpcbData) __out_data_source(REGISTRY) LPSTR lpData, _Inout_opt_ PLONG lpcbData)
LSTATUS WINAPI RegDeleteKeyA(_In_ HKEY, _In_ LPCSTR)
Definition: reg.c:1225
#define ERROR_SUCCESS
Definition: deptool.c:10
#define _Out_writes_bytes_to_opt_(size, count)
Definition: no_sal2.h:375
struct value_entW VALENTW
LSTATUS WINAPI RegGetKeySecurity(_In_ HKEY hKey, _In_ SECURITY_INFORMATION SecurityInformation, _Out_writes_bytes_opt_(*lpcbSecurityDescriptor) PSECURITY_DESCRIPTOR pSecurityDescriptor, _Inout_ LPDWORD lpcbSecurityDescriptor)
LSTATUS WINAPI RegConnectRegistryW(_In_opt_ LPCWSTR, _In_ HKEY, _Out_ PHKEY)
LSTATUS WINAPI RegOpenKeyExW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ DWORD, _In_ REGSAM, _Out_ PHKEY)
BOOL WINAPI AbortSystemShutdownW(_In_opt_ LPCWSTR)
LSTATUS WINAPI RegDeleteKeyW(_In_ HKEY, _In_ LPCWSTR)
Definition: reg.c:1240
LONG WINAPI RegSetKeyValueW(IN HKEY hKey, IN LPCWSTR lpSubKey OPTIONAL, IN LPCWSTR lpValueName OPTIONAL, IN DWORD dwType, IN LPCVOID lpData OPTIONAL, IN DWORD cbData)
Definition: reg.c:2182
LSTATUS WINAPI RegEnumValueA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_to_opt_(*lpcchValueName,*lpcchValueName+1) LPSTR lpValueName, _Inout_ LPDWORD lpcchValueName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_writes_bytes_to_opt_(*lpcbData,*lpcbData) __out_data_source(REGISTRY) LPBYTE lpData, _Inout_opt_ LPDWORD lpcbData)
unsigned char * LPBYTE
Definition: typedefs.h:52
#define _In_reads_bytes_opt_(size)
Definition: no_sal2.h:230
LSTATUS WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_to_opt_(*lpcchValueName,*lpcchValueName+1) LPWSTR lpValueName, _Inout_ LPDWORD lpcchValueName, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPDWORD lpType, _Out_writes_bytes_to_opt_(*lpcbData,*lpcbData) __out_data_source(REGISTRY) LPBYTE lpData, _Inout_opt_ LPDWORD lpcbData)
LSTATUS WINAPI RegSetKeySecurity(_In_ HKEY, _In_ SECURITY_INFORMATION, _In_ PSECURITY_DESCRIPTOR)
_In_ LPCSTR lpName
Definition: winbase.h:2729
LONG WINAPI RegSetKeyValueA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL, IN LPCSTR lpValueName OPTIONAL, IN DWORD dwType, IN LPCVOID lpData OPTIONAL, IN DWORD cbData)
Definition: reg.c:2253
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
LSTATUS WINAPI RegConnectRegistryA(_In_opt_ LPCSTR, _In_ HKEY, _Out_ PHKEY)
LSTATUS WINAPI RegOpenKeyExA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ DWORD, _In_ REGSAM, _Out_ PHKEY)
DWORD ve_valueptr
Definition: winreg.h:80
LSTATUS WINAPI RegRestoreKeyW(_In_ HKEY, _In_ LPCWSTR, _In_ DWORD)
char * LPSTR
Definition: xmlstorage.h:182
LSTATUS WINAPI RegRestoreKeyA(_In_ HKEY, _In_ LPCSTR, _In_ DWORD)
LSTATUS WINAPI RegEnumKeyA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_opt_(cchName) LPSTR lpName, _In_ DWORD cchName)
LSTATUS WINAPI RegLoadKeyA(_In_ HKEY, _In_opt_ LPCSTR, _In_ LPCSTR)
LONG WINAPI RegDisableReflectionKey(IN HKEY hBase)
Definition: reg.c:1877
DWORD DWORD
Definition: winlogon.h:84
LONG WINAPI RegDeleteTreeA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL)
Definition: reg.c:1849
#define _In_opt_
Definition: no_sal2.h:213
#define _Out_writes_(size)
Definition: no_sal2.h:367
LSTATUS WINAPI RegSetValueA(_In_ HKEY hKey, _In_opt_ LPCSTR lpSubKey, _In_ DWORD dwType, _In_reads_bytes_opt_(cbData) LPCSTR lpData, _In_ DWORD cbData)
#define _Post_
Definition: no_sal2.h:446
struct value_entA * PVALENTA
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
Definition: winbase.h:2706
LONG WINAPI RegEnableReflectionKey(IN HKEY hBase)
Definition: reg.c:1890
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
LSTATUS WINAPI RegEnumKeyExW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_to_opt_(*lpcchName,*lpcchName+1) LPWSTR lpName, _Inout_ LPDWORD lpcchName, _Reserved_ LPDWORD lpReserved, _Out_writes_to_opt_(*lpcchClass,*lpcchClass+1) LPWSTR lpClass, _Inout_opt_ LPDWORD lpcchClass, _Out_opt_ PFILETIME lpftLastWriteTime)
DWORD WINAPI InitiateShutdownA(LPSTR lpMachineName, LPSTR lpMessage, DWORD dwGracePeriod, DWORD dwShutdownFlags, DWORD dwReason)
Definition: shutdown.c:314
LONG WINAPI RegDisablePredefinedCacheEx(VOID)
Definition: reg.c:348
#define _NullNull_terminated_
Definition: no_sal2.h:321
long LONG
Definition: pedump.c:60
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
LONG WINAPI RegCopyTreeA(IN HKEY hKeySrc, IN LPCSTR lpSubKey OPTIONAL, IN HKEY hKeyDest)
Definition: reg.c:812
LONG WINAPI RegLoadMUIStringW(IN HKEY hKey, IN LPCWSTR pszValue OPTIONAL, OUT LPWSTR pszOutBuf, IN DWORD cbOutBuf, OUT LPDWORD pcbData OPTIONAL, IN DWORD Flags, IN LPCWSTR pszDirectory OPTIONAL)
LSTATUS WINAPI RegCreateKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _Out_ PHKEY)
BOOL WINAPI AbortSystemShutdownA(_In_opt_ LPCSTR)
LONG WINAPI RegSaveKeyExA(HKEY hKey, LPCSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
Definition: reg.c:4729
BOOL WINAPI InitiateSystemShutdownA(_In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL)
VALENTA VALENT
Definition: winreg.h:491
#define _Out_writes_bytes_opt_(a)
Definition: btrfs_drv.h:165
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3748
smooth NULL
Definition: ftsmooth.c:416
#define _Out_
Definition: no_sal2.h:323
LSTATUS WINAPI RegNotifyChangeKeyValue(_In_ HKEY, _In_ BOOL, _In_ DWORD, _In_opt_ HANDLE, _In_ BOOL)
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1339
LSTATUS WINAPI RegReplaceKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ LPCWSTR, _In_ LPCWSTR)
#define REG_SZ
Definition: winreg.h:25
const char * LPCSTR
Definition: xmlstorage.h:183
DWORD ve_type
Definition: winreg.h:75
LSTATUS WINAPI RegGetValueA(HKEY hKey, LPCSTR pszSubKey, LPCSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:2081
BOOL WINAPI InitiateSystemShutdownExW(_In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL, _In_ DWORD)
DWORD ve_valueptr
Definition: winreg.h:74
DWORD WINAPI InitiateShutdownW(LPWSTR lpMachineName, LPWSTR lpMessage, DWORD dwGracePeriod, DWORD dwShutdownFlags, DWORD dwReason)
Definition: shutdown.c:298
#define _Out_opt_
Definition: no_sal2.h:339
#define RRF_RT_REG_MULTI_SZ
Definition: winreg.h:60
LSTATUS WINAPI RegQueryInfoKeyA(_In_ HKEY hKey, _Out_writes_to_opt_(*lpcchClass,*lpcchClass+1) LPSTR lpClass, _Inout_opt_ LPDWORD lpcchClass, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPDWORD lpcSubKeys, _Out_opt_ LPDWORD lpcbMaxSubKeyLen, _Out_opt_ LPDWORD lpcbMaxClassLen, _Out_opt_ LPDWORD lpcValues, _Out_opt_ LPDWORD lpcbMaxValueNameLen, _Out_opt_ LPDWORD lpcbMaxValueLen, _Out_opt_ LPDWORD lpcbSecurityDescriptor, _Out_opt_ PFILETIME lpftLastWriteTime)
LSTATUS WINAPI RegDeleteValueW(_In_ HKEY, _In_opt_ LPCWSTR)
unsigned int BOOL
Definition: ntddk_ex.h:94
LSTATUS WINAPI RegLoadKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ LPCWSTR)
HANDLE HKEY
Definition: registry.h:24
#define RRF_RT_REG_EXPAND_SZ
Definition: winreg.h:57
LSTATUS WINAPI RegQueryInfoKeyW(_In_ HKEY hKey, _Out_writes_to_opt_(*lpcchClass,*lpcchClass+1) LPWSTR lpClass, _Inout_opt_ LPDWORD lpcchClass, _Reserved_ LPDWORD lpReserved, _Out_opt_ LPDWORD lpcSubKeys, _Out_opt_ LPDWORD lpcbMaxSubKeyLen, _Out_opt_ LPDWORD lpcbMaxClassLen, _Out_opt_ LPDWORD lpcValues, _Out_opt_ LPDWORD lpcbMaxValueNameLen, _Out_opt_ LPDWORD lpcbMaxValueLen, _Out_opt_ LPDWORD lpcbSecurityDescriptor, _Out_opt_ PFILETIME lpftLastWriteTime)
LSTATUS WINAPI RegOpenKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _Out_ PHKEY)
#define _Inout_
Definition: no_sal2.h:244
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
LSTATUS WINAPI RegCreateKeyExA(_In_ HKEY, _In_ LPCSTR, _Reserved_ DWORD, _In_opt_ LPSTR, _In_ DWORD, _In_ REGSAM, _In_opt_ LPSECURITY_ATTRIBUTES, _Out_ PHKEY, _Out_opt_ PDWORD)
ULONG PVOID Reserved
Definition: ntimage.h:533
_In_ _In_opt_ _Out_writes_bytes_to_opt_ lpdwBufferLength __out_data_source(NETWORK) LPVOID
LSTATUS WINAPI RegCreateKeyA(_In_ HKEY, _In_opt_ LPCSTR, _Out_ PHKEY)
#define _Reserved_
Definition: no_sal2.h:573
#define RRF_RT_REG_SZ
Definition: winreg.h:56
LSTATUS WINAPI RegReplaceKeyA(_In_ HKEY, _In_opt_ LPCSTR, _In_ LPCSTR, _In_ LPCSTR)
LSTATUS WINAPI RegUnLoadKeyA(_In_ HKEY, _In_opt_ LPCSTR)
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1175
LSTATUS WINAPI RegDeleteKeyExA(_In_ HKEY, _In_ LPCSTR, _In_ REGSAM, _Reserved_ DWORD)
DWORD ve_valuelen
Definition: winreg.h:79
#define WINAPI
Definition: msvc.h:20
DWORD ve_valuelen
Definition: winreg.h:73
#define REG_MULTI_SZ
Definition: winreg.h:32
unsigned char BYTE
Definition: ntddk_ex.h:96
LSTATUS WINAPI RegDeleteTreeW(HKEY hKey, LPCWSTR lpszSubKey)
Definition: reg.c:1755
#define _Post_z_
Definition: no_sal2.h:469
#define _In_
Definition: no_sal2.h:204
HANDLE * PHKEY
Definition: registry.h:24
LSTATUS WINAPI RegCreateKeyExW(_In_ HKEY, _In_ LPCWSTR, _Reserved_ DWORD, _In_opt_ LPWSTR, _In_ DWORD, _In_ REGSAM, _In_opt_ LPSECURITY_ATTRIBUTES, _Out_ PHKEY, _Out_opt_ PDWORD)
DWORD *typedef HANDLE
Definition: winlogon.h:61
LSTATUS WINAPI RegSaveKeyA(_In_ HKEY, _In_ LPCSTR, _In_opt_ LPSECURITY_ATTRIBUTES)
LPWSTR ve_valuename
Definition: winreg.h:78
_In_ UINT _Out_writes_opt_(cch) LPSTR lpszFile
#define _Out_writes_to_opt_(size, count)
Definition: no_sal2.h:379
ACCESS_MASK REGSAM
Definition: winreg.h:69
BOOL WINAPI InitiateSystemShutdownExA(_In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL, _In_ DWORD)
#define _When_(expr, annos)
Definition: no_sal2.h:639
DWORD * PDWORD
Definition: pedump.c:68
LSTATUS WINAPI RegSaveKeyW(_In_ HKEY, _In_ LPCWSTR, _In_opt_ LPSECURITY_ATTRIBUTES)
VALENTA * PVALENT
Definition: winreg.h:491
LSTATUS WINAPI RegQueryMultipleValuesA(_In_ HKEY hKey, _Out_writes_(num_vals) PVALENTA val_list, _In_ DWORD num_vals, _Out_writes_bytes_to_opt_(*ldwTotsize,*ldwTotsize) __out_data_source(REGISTRY) LPSTR lpValueBuf, _Inout_opt_ LPDWORD ldwTotsize)
#define REG_EXPAND_SZ
Definition: winreg.h:26
CONST void * LPCVOID
Definition: windef.h:191
DWORD ve_type
Definition: winreg.h:81
LONG WINAPI RegDeleteKeyValueW(IN HKEY hKey, IN LPCWSTR lpSubKey OPTIONAL, IN LPCWSTR lpValueName OPTIONAL)
Definition: reg.c:1363
LPSTR ve_valuename
Definition: winreg.h:72
uint32_t * LPDWORD
Definition: typedefs.h:57
LSTATUS WINAPI RegSetValueExW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpValueName, _Reserved_ DWORD Reserved, _In_ DWORD dwType, _In_reads_bytes_opt_(cbData) const BYTE *lpData, _In_ DWORD cbData)
LONG WINAPI RegCopyTreeW(IN HKEY hKeySrc, IN LPCWSTR lpSubKey OPTIONAL, IN HKEY hKeyDest)
Definition: reg.c:736
LONG WINAPI RegQueryReflectionKey(IN HKEY hBase, OUT BOOL *bIsReflectionDisabled)
Definition: reg.c:4007
struct value_entW * PVALENTW
LSTATUS WINAPI RegOpenCurrentUser(_In_ REGSAM, _Out_ PHKEY)
LSTATUS WINAPI RegSetValueExA(_In_ HKEY hKey, _In_opt_ LPCSTR lpValueName, _Reserved_ DWORD Reserved, _In_ DWORD dwType, _In_reads_bytes_opt_(cbData) const BYTE *lpData, _In_ DWORD cbData)
signed int * PLONG
Definition: retypes.h:5
WCHAR * LPWSTR
Definition: xmlstorage.h:184
BOOL WINAPI InitiateSystemShutdownW(_In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL)
LONG WINAPI RegLoadMUIStringA(IN HKEY hKey, IN LPCSTR pszValue OPTIONAL, OUT LPSTR pszOutBuf, IN DWORD cbOutBuf, OUT LPDWORD pcbData OPTIONAL, IN DWORD Flags, IN LPCSTR pszDirectory OPTIONAL)
LONG WINAPI RegDisablePredefinedCache(VOID)
Definition: reg.c:332
LSTATUS WINAPI RegDeleteValueA(_In_ HKEY, _In_opt_ LPCSTR)
LSTATUS WINAPI RegDeleteKeyExW(_In_ HKEY, _In_ LPCWSTR, _In_ REGSAM, _Reserved_ DWORD)
LSTATUS WINAPI RegQueryMultipleValuesW(_In_ HKEY hKey, _Out_writes_(num_vals) PVALENTW val_list, _In_ DWORD num_vals, _Out_writes_bytes_to_opt_(*ldwTotsize,*ldwTotsize) __out_data_source(REGISTRY) LPWSTR lpValueBuf, _Inout_opt_ LPDWORD ldwTotsize)
struct value_entA VALENTA
LSTATUS WINAPI RegQueryValueW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpSubKey, _Out_writes_bytes_to_opt_(*lpcbData,*lpcbData) __out_data_source(REGISTRY) LPWSTR lpData, _Inout_opt_ PLONG lpcbData)
ULONG ACCESS_MASK
Definition: nt_native.h:40
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4951
#define _Inout_opt_
Definition: no_sal2.h:258
LSTATUS WINAPI RegOpenKeyA(_In_ HKEY, _In_opt_ LPCSTR, _Out_ PHKEY)