ReactOS 0.4.16-dev-2332-g4cba65d
winreg.h
Go to the documentation of this file.
1#ifndef _WINREG_H
2#define _WINREG_H
3
4#ifdef __cplusplus
5extern "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#define REG_NOTIFY_THREAD_AGNOSTIC (0x10000000L)
43#define REG_MUI_STRING_TRUNCATE 1
44
45/* Shutdown flags for InitiateShutdownA/W */
46#define SHUTDOWN_FORCE_OTHERS 0x00000001
47#define SHUTDOWN_FORCE_SELF 0x00000002
48#define SHUTDOWN_GRACE_OVERRIDE 0x00000020
49#define SHUTDOWN_INSTALL_UPDATES 0x00000040
50#define SHUTDOWN_NOREBOOT 0x00000010
51#define SHUTDOWN_POWEROFF 0x00000008
52#define SHUTDOWN_RESTART 0x00000004
53#define SHUTDOWN_RESTARTAPPS 0x00000080
54
55#define MAX_SHUTDOWN_TIMEOUT (10*365*24*60*60)
56
57#define RRF_RT_REG_NONE (1 << 0)
58#define RRF_RT_REG_SZ (1 << 1)
59#define RRF_RT_REG_EXPAND_SZ (1 << 2)
60#define RRF_RT_REG_BINARY (1 << 3)
61#define RRF_RT_REG_DWORD (1 << 4)
62#define RRF_RT_REG_MULTI_SZ (1 << 5)
63#define RRF_RT_REG_QWORD (1 << 6)
64#define RRF_RT_DWORD (RRF_RT_REG_BINARY | RRF_RT_REG_DWORD)
65#define RRF_RT_QWORD (RRF_RT_REG_BINARY | RRF_RT_REG_QWORD)
66#define RRF_RT_ANY (0x0000FFFF)
67#if (_WIN32_WINNT >= _WIN32_WINNT_WIN10)
68#define RRF_SUBKEY_WOW6464KEY (0x00010000)
69#define RRF_SUBKEY_WOW6432KEY (0x00020000)
70#define RRF_WOW64_MASK (0x00030000)
71#endif // _WIN32_WINNT >= _WIN32_WINNT_WIN10
72#define RRF_NOEXPAND (1 << 28)
73#define RRF_ZEROONFAILURE (1 << 29)
74
75#ifndef RC_INVOKED
78typedef struct value_entA {
84typedef struct value_entW {
90
93
94#if (_WIN32_WINNT >= 0x0600)
97#endif
98
106
107#if (_WIN32_WINNT >= 0x0600)
110#endif
111
120
121#if (_WIN32_WINNT >= 0x0600)
126#endif
127
130
131#if (_WIN32_WINNT >= 0x0500)
135#endif
136
137#if (_WIN32_WINNT >= 0x0600)
141#endif
142
144WINAPI
146 _In_ HKEY hKey,
147 _In_ DWORD dwIndex,
150
152WINAPI
154 _In_ HKEY hKey,
155 _In_ DWORD dwIndex,
158
160WINAPI
162 _In_ HKEY hKey,
163 _In_ DWORD dwIndex,
164 _Out_writes_to_opt_(*lpcchName, *lpcchName + 1) LPSTR lpName,
165 _Inout_ LPDWORD lpcchName,
167 _Out_writes_to_opt_(*lpcchClass,*lpcchClass + 1) LPSTR lpClass,
168 _Inout_opt_ LPDWORD lpcchClass,
169 _Out_opt_ PFILETIME lpftLastWriteTime);
170
172WINAPI
174 _In_ HKEY hKey,
175 _In_ DWORD dwIndex,
176 _Out_writes_to_opt_(*lpcchName, *lpcchName + 1) LPWSTR lpName,
177 _Inout_ LPDWORD lpcchName,
179 _Out_writes_to_opt_(*lpcchClass,*lpcchClass + 1) LPWSTR lpClass,
180 _Inout_opt_ LPDWORD lpcchClass,
181 _Out_opt_ PFILETIME lpftLastWriteTime);
182
184WINAPI
186 _In_ HKEY hKey,
187 _In_ DWORD dwIndex,
188 _Out_writes_to_opt_(*lpcchValueName, *lpcchValueName + 1) LPSTR lpValueName,
189 _Inout_ LPDWORD lpcchValueName,
191 _Out_opt_ LPDWORD lpType,
192 _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
193 _Inout_opt_ LPDWORD lpcbData);
194
196WINAPI
198 _In_ HKEY hKey,
199 _In_ DWORD dwIndex,
200 _Out_writes_to_opt_(*lpcchValueName, *lpcchValueName + 1) LPWSTR lpValueName,
201 _Inout_ LPDWORD lpcchValueName,
203 _Out_opt_ LPDWORD lpType,
204 _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
205 _Inout_opt_ LPDWORD lpcbData);
206
207#if (_WIN32_WINNT >= 0x0502)
208
210WINAPI
212 _In_ HKEY hkey,
213 _In_opt_ LPCSTR lpSubKey,
214 _In_opt_ LPCSTR lpValue,
217 _When_((dwFlags & 0x7F) == RRF_RT_REG_SZ || (dwFlags & 0x7F) == RRF_RT_REG_EXPAND_SZ ||
223
225WINAPI
227 _In_ HKEY hkey,
228 _In_opt_ LPCWSTR lpSubKey,
229 _In_opt_ LPCWSTR lpValue,
232 _When_((dwFlags & 0x7F) == RRF_RT_REG_SZ || (dwFlags & 0x7F) == RRF_RT_REG_EXPAND_SZ ||
238
239#endif
240
242
244WINAPI
246 _In_ HKEY hKey,
248 _Out_writes_bytes_opt_(*lpcbSecurityDescriptor) PSECURITY_DESCRIPTOR pSecurityDescriptor,
249 _Inout_ LPDWORD lpcbSecurityDescriptor);
250
253
254#if (_WIN32_WINNT >= 0x0600)
256WINAPI
258 _In_ LPCSTR lpFile,
259 _Out_ PHKEY phkResult,
260 _In_ REGSAM samDesired,
263
265WINAPI
267 _In_ LPCWSTR lpFile,
268 _Out_ PHKEY phkResult,
269 _In_ REGSAM samDesired,
272
274WINAPI
276 _In_ HKEY hKey,
278 _Out_writes_bytes_opt_(cbOutBuf) LPSTR pszOutBuf,
279 _In_ DWORD cbOutBuf,
282 _In_opt_ LPCSTR pszDirectory);
283
285WINAPI
287 _In_ HKEY hKey,
289 _Out_writes_bytes_opt_(cbOutBuf) LPWSTR pszOutBuf,
290 _In_ DWORD cbOutBuf,
293 _In_opt_ LPCWSTR pszDirectory);
294#endif
295
302
304WINAPI
306 _In_ HKEY hKey,
307 _Out_writes_to_opt_(*lpcchClass, *lpcchClass + 1) LPSTR lpClass,
308 _Inout_opt_ LPDWORD lpcchClass,
310 _Out_opt_ LPDWORD lpcSubKeys,
311 _Out_opt_ LPDWORD lpcbMaxSubKeyLen,
312 _Out_opt_ LPDWORD lpcbMaxClassLen,
313 _Out_opt_ LPDWORD lpcValues,
314 _Out_opt_ LPDWORD lpcbMaxValueNameLen,
315 _Out_opt_ LPDWORD lpcbMaxValueLen,
316 _Out_opt_ LPDWORD lpcbSecurityDescriptor,
317 _Out_opt_ PFILETIME lpftLastWriteTime);
318
320WINAPI
322 _In_ HKEY hKey,
323 _Out_writes_to_opt_(*lpcchClass, *lpcchClass + 1) LPWSTR lpClass,
324 _Inout_opt_ LPDWORD lpcchClass,
326 _Out_opt_ LPDWORD lpcSubKeys,
327 _Out_opt_ LPDWORD lpcbMaxSubKeyLen,
328 _Out_opt_ LPDWORD lpcbMaxClassLen,
329 _Out_opt_ LPDWORD lpcValues,
330 _Out_opt_ LPDWORD lpcbMaxValueNameLen,
331 _Out_opt_ LPDWORD lpcbMaxValueLen,
332 _Out_opt_ LPDWORD lpcbSecurityDescriptor,
333 _Out_opt_ PFILETIME lpftLastWriteTime);
334
336WINAPI
338 _In_ HKEY hKey,
339 _Out_writes_(num_vals) PVALENTA val_list,
340 _In_ DWORD num_vals,
341 _Out_writes_bytes_to_opt_(*ldwTotsize, *ldwTotsize) __out_data_source(REGISTRY) LPSTR lpValueBuf,
342 _Inout_opt_ LPDWORD ldwTotsize);
343
345WINAPI
347 _In_ HKEY hKey,
348 _Out_writes_(num_vals) PVALENTW val_list,
349 _In_ DWORD num_vals,
350 _Out_writes_bytes_to_opt_(*ldwTotsize, *ldwTotsize) __out_data_source(REGISTRY) LPWSTR lpValueBuf,
351 _Inout_opt_ LPDWORD ldwTotsize);
352
353#if (_WIN32_WINNT >= 0x0600)
355#endif
356
358WINAPI
360 _In_ HKEY hKey,
361 _In_opt_ LPCSTR lpSubKey,
362 _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPSTR lpData,
363 _Inout_opt_ PLONG lpcbData);
364
366WINAPI
368 _In_ HKEY hKey,
369 _In_opt_ LPCWSTR lpSubKey,
370 _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPWSTR lpData,
371 _Inout_opt_ PLONG lpcbData);
372
374WINAPI
376 _In_ HKEY hKey,
377 _In_opt_ LPCSTR lpValueName,
379 _Out_opt_ LPDWORD lpType,
380 _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
381 _When_(lpData == NULL, _Out_opt_)
382 _When_(lpData != NULL, _Inout_opt_) LPDWORD lpcbData);
383
385WINAPI
387 _In_ HKEY hKey,
388 _In_opt_ LPCWSTR lpValueName,
390 _Out_opt_ LPDWORD lpType,
391 _Out_writes_bytes_to_opt_(*lpcbData, *lpcbData) __out_data_source(REGISTRY) LPBYTE lpData,
392 _When_(lpData == NULL, _Out_opt_)
393 _When_(lpData != NULL, _Inout_opt_) LPDWORD lpcbData);
394
402
403#if (_WIN32_WINNT >= 0x0600)
404
406WINAPI
407RegRenameKey(
408 _In_ HKEY hKey,
409 _In_opt_ LPCWSTR lpSubKeyName,
410 _In_ LPCWSTR lpNewKeyName);
411
413WINAPI
415 _In_ HKEY hKey,
416 _In_opt_ LPCSTR lpSubKey,
417 _In_opt_ LPCSTR lpValueName,
418 _In_ DWORD dwType,
421
423WINAPI
425 _In_ HKEY hKey,
426 _In_opt_ LPCWSTR lpSubKey,
427 _In_opt_ LPCWSTR lpValueName,
428 _In_ DWORD dwType,
431
432#endif
433
435WINAPI
437 _In_ HKEY hKey,
438 _In_opt_ LPCSTR lpSubKey,
439 _In_ DWORD dwType,
442
444WINAPI
446 _In_ HKEY hKey,
447 _In_opt_ LPCWSTR lpSubKey,
448 _In_ DWORD dwType,
451
453WINAPI
455 _In_ HKEY hKey,
456 _In_opt_ LPCSTR lpValueName,
458 _In_ DWORD dwType,
459 _In_reads_bytes_opt_(cbData) const BYTE *lpData,
461
463WINAPI
465 _In_ HKEY hKey,
466 _In_opt_ LPCWSTR lpValueName,
468 _In_ DWORD dwType,
469 _In_reads_bytes_opt_(cbData) const BYTE *lpData,
471
474
475#ifdef UNICODE
476typedef VALENTW VALENT,*PVALENT;
477#define AbortSystemShutdown AbortSystemShutdownW
478#define InitiateSystemShutdown InitiateSystemShutdownW
479#define InitiateSystemShutdownEx InitiateSystemShutdownExW
480#define RegConnectRegistry RegConnectRegistryW
481#if (_WIN32_WINNT >= 0x0600)
482#define InitiateShutdown InitiateShutdownW
483#define RegCopyTree RegCopyTreeW
484#endif
485#define RegCreateKey RegCreateKeyW
486#define RegCreateKeyEx RegCreateKeyExW
487#define RegDeleteKey RegDeleteKeyW
488#define RegDeleteKeyEx RegDeleteKeyExW
489#if (_WIN32_WINNT >= 0x0600)
490#define RegDeleteKeyValue RegDeleteKeyValueW
491#define RegDeleteTree RegDeleteTreeW
492#endif
493#define RegDeleteValue RegDeleteValueW
494#define RegEnumKey RegEnumKeyW
495#define RegEnumKeyEx RegEnumKeyExW
496#define RegEnumValue RegEnumValueW
497#if (_WIN32_WINNT >= 0x0502)
498#define RegGetValue RegGetValueW
499#endif
500#define RegLoadKey RegLoadKeyW
501#if (_WIN32_WINNT >= 0x0600)
502#define RegLoadAppKey RegLoadAppKeyW
503#define RegLoadMUIString RegLoadMUIStringW
504#endif
505#define RegOpenKey RegOpenKeyW
506#define RegOpenKeyEx RegOpenKeyExW
507#define RegQueryInfoKey RegQueryInfoKeyW
508#define RegQueryMultipleValues RegQueryMultipleValuesW
509#define RegQueryValue RegQueryValueW
510#define RegQueryValueEx RegQueryValueExW
511#define RegReplaceKey RegReplaceKeyW
512#define RegRestoreKey RegRestoreKeyW
513#define RegSaveKey RegSaveKeyW
514#define RegSaveKeyEx RegSaveKeyExW
515#if (_WIN32_WINNT >= 0x0600)
516#define RegSetKeyValue RegSetKeyValueW
517#endif
518#define RegSetValue RegSetValueW
519#define RegSetValueEx RegSetValueExW
520#define RegUnLoadKey RegUnLoadKeyW
521#else
523#define AbortSystemShutdown AbortSystemShutdownA
524#define InitiateSystemShutdown InitiateSystemShutdownA
525#define InitiateSystemShutdownEx InitiateSystemShutdownExA
526#define RegConnectRegistry RegConnectRegistryA
527#if (_WIN32_WINNT >= 0x0600)
528#define InitiateShutdown InitiateShutdownA
529#define RegCopyTree RegCopyTreeA
530#endif
531#define RegCreateKey RegCreateKeyA
532#define RegCreateKeyEx RegCreateKeyExA
533#define RegDeleteKey RegDeleteKeyA
534#define RegDeleteKeyEx RegDeleteKeyExA
535#if (_WIN32_WINNT >= 0x0600)
536#define RegDeleteKeyValue RegDeleteKeyValueA
537#define RegDeleteTree RegDeleteTreeA
538#endif
539#define RegDeleteValue RegDeleteValueA
540#define RegEnumKey RegEnumKeyA
541#define RegEnumKeyEx RegEnumKeyExA
542#define RegEnumValue RegEnumValueA
543#if (_WIN32_WINNT >= 0x0502)
544#define RegGetValue RegGetValueA
545#endif
546#define RegLoadKey RegLoadKeyA
547#if (_WIN32_WINNT >= 0x0600)
548#define RegLoadAppKey RegLoadAppKeyA
549#define RegLoadMUIString RegLoadMUIStringA
550#endif
551#define RegOpenKey RegOpenKeyA
552#define RegOpenKeyEx RegOpenKeyExA
553#define RegQueryInfoKey RegQueryInfoKeyA
554#define RegQueryMultipleValues RegQueryMultipleValuesA
555#define RegQueryValue RegQueryValueA
556#define RegQueryValueEx RegQueryValueExA
557#define RegReplaceKey RegReplaceKeyA
558#define RegRestoreKey RegRestoreKeyA
559#define RegSaveKey RegSaveKeyA
560#define RegSaveKeyEx RegSaveKeyExA
561#if (_WIN32_WINNT >= 0x0600)
562#define RegSetKeyValue RegSetKeyValueA
563#endif
564#define RegSetValue RegSetValueA
565#define RegSetValueEx RegSetValueExA
566#define RegUnLoadKey RegUnLoadKeyA
567#endif
568#endif
569#ifdef __cplusplus
570}
571#endif
572#endif
#define RegCloseKey(hKey)
Definition: registry.h:49
LSTATUS WINAPI RegCopyTreeW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ HKEY)
LSTATUS WINAPI RegDeleteTreeW(_In_ HKEY, _In_opt_ LPCWSTR)
#define ERROR_SUCCESS
Definition: deptool.c:10
LONG 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)
Definition: muireg.c:53
static LSTATUS(WINAPI *pRegDeleteTreeW)(HKEY
#define NULL
Definition: types.h:112
DWORD WINAPI InitiateShutdownA(LPSTR lpMachineName, LPSTR lpMessage, DWORD dwGracePeriod, DWORD dwShutdownFlags, DWORD dwReason)
Definition: shutdown.c:314
DWORD WINAPI InitiateShutdownW(LPWSTR lpMachineName, LPWSTR lpMessage, DWORD dwGracePeriod, DWORD dwShutdownFlags, DWORD dwReason)
Definition: shutdown.c:298
LSTATUS WINAPI RegGetValueW(HKEY hKey, LPCWSTR pszSubKey, LPCWSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:1931
LONG WINAPI RegDeleteTreeA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL)
Definition: reg.c:1805
LONG WINAPI RegDisablePredefinedCacheEx(VOID)
Definition: reg.c:349
LONG WINAPI RegQueryReflectionKey(IN HKEY hBase, OUT BOOL *bIsReflectionDisabled)
Definition: reg.c:3975
LSTATUS WINAPI RegGetValueA(HKEY hKey, LPCSTR pszSubKey, LPCSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:2037
LONG WINAPI RegDisablePredefinedCache(VOID)
Definition: reg.c:333
LONG WINAPI RegSaveKeyExA(HKEY hKey, LPCSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
Definition: reg.c:4697
LONG WINAPI RegEnableReflectionKey(IN HKEY hBase)
Definition: reg.c:1846
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:2210
LONG WINAPI RegCopyTreeA(IN HKEY hKeySrc, IN LPCSTR lpSubKey OPTIONAL, IN HKEY hKeyDest)
Definition: reg.c:816
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)
Definition: reg.c:5268
LONG WINAPI RegSaveKeyExW(HKEY hKey, LPCWSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
Definition: reg.c:4730
LONG WINAPI RegDisableReflectionKey(IN HKEY hBase)
Definition: reg.c:1833
LONG WINAPI RegDeleteKeyValueW(IN HKEY hKey, IN LPCWSTR lpSubKey OPTIONAL, IN LPCWSTR lpValueName OPTIONAL)
Definition: reg.c:1361
LONG WINAPI RegDeleteKeyValueA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL, IN LPCSTR lpValueName OPTIONAL)
Definition: reg.c:1392
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:2139
LSTATUS WINAPI RegLoadAppKeyA(const char *file, HKEY *result, REGSAM sam, DWORD options, DWORD reserved)
Definition: registry.c:3246
LSTATUS WINAPI RegLoadAppKeyW(const WCHAR *file, HKEY *result, REGSAM sam, DWORD options, DWORD reserved)
Definition: registry.c:3261
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
_Must_inspect_result_ _In_ PFILE_OBJECT _In_ SECURITY_INFORMATION SecurityInformation
Definition: fltkernel.h:1340
FxAutoRegKey hKey
CONST void * LPCVOID
Definition: minwindef.h:164
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
_In_ LPWSTR _In_ DWORD _In_ LPCVOID pvData
Definition: netsh.h:116
#define _Out_writes_to_opt_(s, c)
Definition: no_sal2.h:238
#define _Out_opt_
Definition: no_sal2.h:214
#define _Inout_
Definition: no_sal2.h:162
#define _Out_writes_opt_(s)
Definition: no_sal2.h:226
#define _Return_type_success_(c)
Definition: no_sal2.h:86
#define _Post_
Definition: no_sal2.h:48
#define _Post_z_
Definition: no_sal2.h:508
#define _Out_writes_bytes_opt_(s)
Definition: no_sal2.h:228
#define _Inout_opt_
Definition: no_sal2.h:216
#define _Out_writes_(s)
Definition: no_sal2.h:176
#define _Out_
Definition: no_sal2.h:160
#define _In_
Definition: no_sal2.h:158
#define _In_opt_
Definition: no_sal2.h:212
#define _Out_writes_bytes_to_opt_(s, c)
Definition: no_sal2.h:240
#define _Reserved_
Definition: no_sal2.h:504
#define _NullNull_terminated_
Definition: no_sal2.h:78
#define _When_(c, a)
Definition: no_sal2.h:38
#define _In_reads_bytes_opt_(s)
Definition: no_sal2.h:224
ULONG ACCESS_MASK
Definition: nt_native.h:40
DWORD * PDWORD
Definition: pedump.c:68
long LONG
Definition: pedump.c:60
_In_opt_ _In_opt_ _In_ _In_ DWORD cbData
Definition: shlwapi.h:761
_In_opt_ LPCSTR _In_opt_ LPCSTR _In_ SRRF _Out_opt_ LPDWORD pdwType
Definition: shlwapi.h:783
_In_ _Out_writes_opt_ pcchValueName _Inout_opt_ LPDWORD _Out_opt_ _Out_writes_bytes_to_opt_ pcbData _Inout_opt_ LPDWORD pcbData
Definition: shlwapi.h:757
_In_opt_ LPCSTR _In_opt_ LPCSTR pszValue
Definition: shlwapi.h:783
DWORD dwOptions
Definition: solitaire.cpp:25
#define __out_data_source(src_sym)
Definition: specstrings.h:349
DWORD ve_valuelen
Definition: winreg.h:80
DWORD ve_type
Definition: winreg.h:82
DWORD ve_valueptr
Definition: winreg.h:81
LPSTR ve_valuename
Definition: winreg.h:79
DWORD ve_type
Definition: winreg.h:88
DWORD ve_valuelen
Definition: winreg.h:86
DWORD ve_valueptr
Definition: winreg.h:87
LPWSTR ve_valuename
Definition: winreg.h:85
unsigned char * LPBYTE
Definition: typedefs.h:53
uint32_t * LPDWORD
Definition: typedefs.h:59
int32_t * PLONG
Definition: typedefs.h:58
_In_ LPCSTR lpName
Definition: winbase.h:2543
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
Definition: winbase.h:2521
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
#define WINAPI
Definition: msvc.h:6
_In_ DWORD _In_ int _In_ int _In_opt_ LPNLSVERSIONINFO _In_opt_ LPVOID lpReserved
Definition: winnls.h:1268
LSTATUS WINAPI RegDeleteValueW(_In_ HKEY, _In_opt_ LPCWSTR)
LSTATUS WINAPI RegOpenKeyA(_In_ HKEY, _In_opt_ LPCSTR, _Out_ PHKEY)
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 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)
LSTATUS WINAPI RegDeleteKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _In_ REGSAM samDesired, _Reserved_ DWORD Reserved)
BOOL WINAPI AbortSystemShutdownW(_In_opt_ LPCWSTR)
LSTATUS WINAPI RegSetValueA(_In_ HKEY hKey, _In_opt_ LPCSTR lpSubKey, _In_ DWORD dwType, _In_reads_bytes_opt_(cbData) LPCSTR lpData, _In_ DWORD cbData)
LSTATUS WINAPI RegEnumKeyW(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_opt_(cchName) LPWSTR lpName, _In_ DWORD cchName)
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)
BOOL WINAPI InitiateSystemShutdownA(_In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL)
LSTATUS WINAPI RegGetKeySecurity(_In_ HKEY hKey, _In_ SECURITY_INFORMATION SecurityInformation, _Out_writes_bytes_opt_(*lpcbSecurityDescriptor) PSECURITY_DESCRIPTOR pSecurityDescriptor, _Inout_ LPDWORD lpcbSecurityDescriptor)
VALENTA VALENT
Definition: winreg.h:522
LSTATUS WINAPI RegReplaceKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ LPCWSTR, _In_ LPCWSTR)
LSTATUS WINAPI RegOpenCurrentUser(_In_ REGSAM, _Out_ PHKEY)
LSTATUS WINAPI RegDeleteKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _In_ REGSAM samDesired, _Reserved_ DWORD Reserved)
LSTATUS WINAPI RegFlushKey(_In_ HKEY)
BOOL WINAPI InitiateSystemShutdownW(_In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL)
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)
BOOL WINAPI InitiateSystemShutdownExA(_In_opt_ LPSTR, _In_opt_ LPSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL, _In_ DWORD)
LSTATUS WINAPI RegOpenKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _Out_ PHKEY)
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)
LSTATUS WINAPI RegCreateKeyExA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey, _Reserved_ DWORD Reserved, _In_opt_ LPSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ PDWORD lpdwDisposition)
VALENTA * PVALENT
Definition: winreg.h:522
LSTATUS WINAPI RegEnumKeyA(_In_ HKEY hKey, _In_ DWORD dwIndex, _Out_writes_opt_(cchName) LPSTR lpName, _In_ DWORD cchName)
LSTATUS WINAPI RegReplaceKeyA(_In_ HKEY, _In_opt_ LPCSTR, _In_ LPCSTR, _In_ LPCSTR)
LSTATUS WINAPI RegLoadKeyA(_In_ HKEY, _In_opt_ LPCSTR, _In_ LPCSTR)
LSTATUS WINAPI RegRestoreKeyW(_In_ HKEY, _In_ LPCWSTR, _In_ DWORD)
BOOL WINAPI InitiateSystemShutdownExW(_In_opt_ LPWSTR, _In_opt_ LPWSTR, _In_ DWORD, _In_ BOOL, _In_ BOOL, _In_ DWORD)
LSTATUS WINAPI RegSaveKeyA(_In_ HKEY, _In_ LPCSTR, _In_opt_ LPSECURITY_ATTRIBUTES)
ACCESS_MASK REGSAM
Definition: winreg.h:76
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)
#define REG_MULTI_SZ
Definition: winreg.h:32
#define RRF_RT_REG_MULTI_SZ
Definition: winreg.h:62
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)
LSTATUS WINAPI RegRestoreKeyA(_In_ HKEY, _In_ LPCSTR, _In_ DWORD)
BOOL WINAPI AbortSystemShutdownA(_In_opt_ LPCSTR)
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 RegUnLoadKeyW(_In_ HKEY, _In_opt_ LPCWSTR)
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 RegOpenKeyExW(_In_ HKEY, _In_opt_ LPCWSTR, _In_opt_ DWORD, _In_ REGSAM, _Out_ PHKEY)
LSTATUS WINAPI RegLoadKeyW(_In_ HKEY, _In_opt_ LPCWSTR, _In_ LPCWSTR)
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)
LSTATUS WINAPI RegNotifyChangeKeyValue(_In_ HKEY, _In_ BOOL, _In_ DWORD, _In_opt_ HANDLE, _In_ BOOL)
LSTATUS WINAPI RegConnectRegistryA(_In_opt_ LPCSTR, _In_ HKEY, _Out_ PHKEY)
LSTATUS WINAPI RegDeleteValueA(_In_ HKEY, _In_opt_ LPCSTR)
#define RRF_RT_REG_EXPAND_SZ
Definition: winreg.h:59
#define RRF_RT_REG_SZ
Definition: winreg.h:58
LSTATUS WINAPI RegUnLoadKeyA(_In_ HKEY, _In_opt_ LPCSTR)
LSTATUS WINAPI RegCreateKeyExW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey, _Reserved_ DWORD Reserved, _In_opt_ LPWSTR lpClass, _In_ DWORD dwOptions, _In_ REGSAM samDesired, _In_opt_ LPSECURITY_ATTRIBUTES lpSecurityAttributes, _Out_ PHKEY phkResult, _Out_opt_ PDWORD lpdwDisposition)
struct value_entW VALENTW
LSTATUS WINAPI RegOpenKeyExA(_In_ HKEY, _In_opt_ LPCSTR, _In_opt_ DWORD, _In_ REGSAM, _Out_ PHKEY)
LSTATUS WINAPI RegDeleteKeyA(_In_ HKEY hKey, _In_ LPCSTR lpSubKey)
Definition: reg.c:1224
LSTATUS WINAPI RegCreateKeyA(_In_ HKEY hKey, _In_opt_ LPCSTR lpSubKey, _Out_ PHKEY phkResult)
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)
struct value_entA VALENTA
struct value_entA * PVALENTA
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 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)
#define REG_SZ
Definition: winreg.h:25
#define REG_EXPAND_SZ
Definition: winreg.h:26
LSTATUS WINAPI RegDeleteKeyW(_In_ HKEY hKey, _In_ LPCWSTR lpSubKey)
Definition: reg.c:1239
LSTATUS WINAPI RegSetKeySecurity(_In_ HKEY, _In_ SECURITY_INFORMATION, _In_ PSECURITY_DESCRIPTOR)
struct value_entW * PVALENTW
LSTATUS WINAPI RegSaveKeyW(_In_ HKEY, _In_ LPCWSTR, _In_opt_ LPSECURITY_ATTRIBUTES)
LSTATUS WINAPI RegCreateKeyW(_In_ HKEY hKey, _In_opt_ LPCWSTR lpSubKey, _Out_ PHKEY phkResult)
LSTATUS WINAPI RegConnectRegistryW(_In_opt_ LPCWSTR, _In_ HKEY, _Out_ PHKEY)
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 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)
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
const char * LPCSTR
Definition: xmlstorage.h:183
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
WCHAR * LPWSTR
Definition: xmlstorage.h:184
char * LPSTR
Definition: xmlstorage.h:182
unsigned char BYTE
Definition: xxhash.c:193