ReactOS 0.4.15-dev-7788-g1ad9096
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
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
71typedef struct value_entA {
77typedef struct value_entW {
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
137WINAPI
139 _In_ HKEY hKey,
140 _In_ DWORD dwIndex,
143
145WINAPI
147 _In_ HKEY hKey,
148 _In_ DWORD dwIndex,
151
153WINAPI
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
165WINAPI
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
177WINAPI
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
189WINAPI
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
203WINAPI
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_)
216
218WINAPI
220 _In_ HKEY hkey,
221 _In_opt_ LPCWSTR lpSubKey,
222 _In_opt_ LPCWSTR lpValue,
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_)
231
232#endif
233
235
237WINAPI
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
250WINAPI
252 _In_ HKEY hKey,
253 _In_opt_ LPCSTR pszValue,
254 _Out_writes_bytes_opt_(cbOutBuf) LPSTR pszOutBuf,
255 _In_ DWORD cbOutBuf,
258 _In_opt_ LPCSTR pszDirectory);
259
261WINAPI
263 _In_ HKEY hKey,
264 _In_opt_ LPCWSTR pszValue,
265 _Out_writes_bytes_opt_(cbOutBuf) LPWSTR pszOutBuf,
266 _In_ DWORD cbOutBuf,
269 _In_opt_ LPCWSTR pszDirectory);
270
271#endif
272
279
281WINAPI
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
297WINAPI
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
313WINAPI
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
322WINAPI
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
335WINAPI
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
343WINAPI
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
351WINAPI
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
362WINAPI
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
383WINAPI
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
393WINAPI
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
405WINAPI
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
414WINAPI
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
423WINAPI
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
433WINAPI
435 _In_ HKEY hKey,
436 _In_opt_ LPCWSTR lpValueName,
438 _In_ DWORD dwType,
439 _In_reads_bytes_opt_(cbData) const BYTE *lpData,
440 _In_ DWORD cbData);
441
444
445#ifdef UNICODE
446typedef 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
#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:1969
LONG WINAPI RegDeleteTreeA(IN HKEY hKey, IN LPCSTR lpSubKey OPTIONAL)
Definition: reg.c:1843
LONG WINAPI RegDisablePredefinedCacheEx(VOID)
Definition: reg.c:349
LONG WINAPI RegQueryReflectionKey(IN HKEY hBase, OUT BOOL *bIsReflectionDisabled)
Definition: reg.c:4004
LSTATUS WINAPI RegGetValueA(HKEY hKey, LPCSTR pszSubKey, LPCSTR pszValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
Definition: reg.c:2075
LONG WINAPI RegDisablePredefinedCache(VOID)
Definition: reg.c:333
LONG WINAPI RegSaveKeyExA(HKEY hKey, LPCSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
Definition: reg.c:4726
LONG WINAPI RegEnableReflectionKey(IN HKEY hBase)
Definition: reg.c:1884
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:2248
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:5297
LONG WINAPI RegSaveKeyExW(HKEY hKey, LPCWSTR lpFile, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD Flags)
Definition: reg.c:4759
LONG WINAPI RegDisableReflectionKey(IN HKEY hBase)
Definition: reg.c:1871
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:1430
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:2177
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
DWORD SECURITY_INFORMATION
Definition: ms-dtyp.idl:311
#define _Post_z_
Definition: ms_sal.h:691
#define _Out_opt_
Definition: ms_sal.h:346
#define _Inout_
Definition: ms_sal.h:378
#define _Post_
Definition: ms_sal.h:620
#define _Out_writes_(size)
Definition: ms_sal.h:348
#define _Out_writes_opt_(size)
Definition: ms_sal.h:349
#define _Return_type_success_(expr)
Definition: ms_sal.h:263
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _When_(expr, annos)
Definition: ms_sal.h:254
#define _Out_writes_to_opt_(size, count)
Definition: ms_sal.h:356
#define _Out_writes_bytes_to_opt_(size, count)
Definition: ms_sal.h:361
#define _In_
Definition: ms_sal.h:308
#define _In_reads_bytes_opt_(size)
Definition: ms_sal.h:322
#define _In_opt_
Definition: ms_sal.h:309
#define _Reserved_
Definition: ms_sal.h:295
#define _NullNull_terminated_
Definition: ms_sal.h:641
#define _Out_writes_bytes_opt_(size)
Definition: ms_sal.h:351
ULONG ACCESS_MASK
Definition: nt_native.h:40
DWORD * PDWORD
Definition: pedump.c:68
long LONG
Definition: pedump.c:60
DWORD dwOptions
Definition: solitaire.cpp:25
#define __out_data_source(src_sym)
Definition: specstrings.h:349
DWORD ve_valuelen
Definition: winreg.h:73
DWORD ve_type
Definition: winreg.h:75
DWORD ve_valueptr
Definition: winreg.h:74
LPSTR ve_valuename
Definition: winreg.h:72
DWORD ve_type
Definition: winreg.h:81
DWORD ve_valuelen
Definition: winreg.h:79
DWORD ve_valueptr
Definition: winreg.h:80
LPWSTR ve_valuename
Definition: winreg.h:78
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:2789
_In_ PSID _Out_writes_to_opt_ cchName LPSTR _Inout_ LPDWORD cchName
Definition: winbase.h:2767
_In_ PCCERT_CONTEXT _In_ DWORD dwFlags
Definition: wincrypt.h:1176
_In_ DWORD _Out_writes_bytes_to_opt_ pcbData void _Inout_ DWORD * pcbData
Definition: wincrypt.h:4950
_In_ ULONG _In_opt_ PVOID pvData
Definition: winddi.h:3749
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
CONST void * LPCVOID
Definition: windef.h:191
#define WINAPI
Definition: msvc.h:6
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)
ACCESS_MASK REGSAM
Definition: winreg.h:69
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:491
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:491
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)
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:60
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:57
#define RRF_RT_REG_SZ
Definition: winreg.h:56
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
char * LPSTR
Definition: xmlstorage.h:182
WCHAR * LPWSTR
Definition: xmlstorage.h:184
const WCHAR * LPCWSTR
Definition: xmlstorage.h:185
unsigned char BYTE
Definition: xxhash.c:193