From: Sebastián Puebla Date: Wed, 20 Dec 2017 22:25:54 +0000 (+0000) Subject: Update registry management API, per issue [#2262]. X-Git-Tag: wsl-5.1-release~8 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=61755ebc0a9abed29e1a77a8015aabbd005c17c3;p=mingw%2Fmingw-org-wsl.git Update registry management API, per issue [#2262]. --- diff --git a/w32api/ChangeLog b/w32api/ChangeLog index 3ed58a1..c0ef29d 100644 --- a/w32api/ChangeLog +++ b/w32api/ChangeLog @@ -1,3 +1,54 @@ +2017-12-20 Sebastián Puebla + + Update registry management API, per issue [#2262]. + + * include/winreg.h: Merge changes from 4.1-dev branch. + (REG_LATEST_FORMAT, REG_NO_COMPRESSION, REG_OPTION_BACKUP_RESTORE) + (REG_STANDARD_FORMAT, RRF_RT_ANY, RRF_RT_DWORD, RRF_RT_QWORD) + (RRF_RT_REG_BINARY, RRF_RT_REG_DWORD, RRF_RT_REG_EXPAND_SZ) + (RRF_RT_REG_MULTI_SZ, RRF_RT_REG_NONE, RRF_RT_REG_QWORD, RRF_RT_REG_SZ) + (RRF_NOEXPAND, RRF_SUBKEY_WOW6464KEY, RRF_SUBKEY_WOW6432KEY) + (RRF_ZEROONFAILURE): New manifest constants; define them. + (RegDisablePredefinedCache, RegOpenCurrentUser, RegOpenUserClassesRoot) + (RegOverridePredefKey): Add previously omitted function prototypes. + [_WIN32_WINNT >= _WIN32_WINNT_WINXP] (RegSaveKeyEx): Define... + [!defined UNICODE] (__AW): ...mapping it for SBCS/MBCS case, or... + [defined UNICODE] (__AW): ...for UTF-16LE case to either one of... + (RegSaveKeyExA, RegSaveKeyExW): ...these, respectively, and... + [_WIN32_WINNT >= _WIN32_WINNT_WINXP]: ...declare function prototypes. + [_WIN32_WINNT >= _WIN32_WINNT_WS03] (RegDisableReflectionKey) + (RegEnableReflectionKey, RegQueryReflectionKey): Declare prototypes. + [_WIN32_WINNT >= _WIN32_WINNT_VISTA] (RegCopyTreeA, RegCopyTreeW) + (RegCreateKeyTransactedA, RegCreateKeyTransactedW) + (RegDeleteKeyTransactedA, RegDeleteKeyTransactedW) + (RegDeleteKeyValueA, RegDeleteKeyValueW) + (RegDeleteTreeA, RegDeleteTreeW, RegDisablePredefinedCacheEx) + (RegGetValueA, RegGetValueW, RegLoadMUIStringA, RegLoadMUIStringW) + (RegOpenKeyTransactedA, RegOpenKeyTransactedW) + (RegSetKeyValueA, RegSetKeyValueW): Declare prototypes. + [_WIN32_WINNT >= _WIN32_WINNT_VISTA] (RegCopyTree) + (RegCreateKeyTransacted, RegDeleteKeyTransacted, RegDeleteKeyValue) + (RegDeleteTree, RegGetValue, RegLoadMUIString, RegOpenKeyTransacted) + (RegSetKeyValue): Define, mapping each to its respective function... + [!defined UNICODE] (__AW): ...for the SBCS/MBCS case, or... + [defined UNICODE] (__AW): ...for the UTF-16LE case. + + * lib/kernel32.def (RegDeleteTreeA@8, RegDeleteTreeW@8) + (RegDisablePredefinedCacheEx@0, RegGetValueA@28, RegGetValueW@28) + (RegLoadMUIStringA@28, RegLoadMUIStringW@28, RegSaveKeyExA@16) + (RegSaveKeyExW@16): Remove them; relocate them to... + * lib/advapi32.def (RegDeleteTreeA@8, RegDeleteTreeW@8) + (RegDisablePredefinedCacheEx@0, RegGetValueA@28, RegGetValueW@28) + (RegLoadMUIStringA@28, RegLoadMUIStringW@28, RegSaveKeyExA@16) + (RegSaveKeyExW@16): ...their correct location, here. + (RegCopyTreeA@12, RegCopyTreeW@12, RegQueryReflectionKey@8) + (RegCreateKeyTransactedA@44, RegCreateKeyTransactedW@44) + (RegDeleteKeyTransactedA@24, RegDeleteKeyTransactedW@24) + (RegDeleteKeyValueA@12, RegDeleteKeyValueW@12) + (RegDisableReflectionKey@4, RegEnableReflectionKey@4) + (RegOpenKeyTransactedA@28, RegOpenKeyTransactedW@28) + (RegSetKeyValueA@24, RegSetKeyValueW@24): Add these. + 2017-12-16 Keith Marshall Provide default definition for _WIN32_IE feature test macro. diff --git a/w32api/include/winreg.h b/w32api/include/winreg.h index 81aebba..48927cf 100644 --- a/w32api/include/winreg.h +++ b/w32api/include/winreg.h @@ -1,8 +1,30 @@ +/** + * @file winreg.h + * Copyright 2012, 2013 MinGW.org project + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice (including the next + * paragraph) shall be included in all copies or substantial portions of the + * Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ #ifndef _WINREG_H -#define _WINREG_H -#if __GNUC__ >= 3 #pragma GCC system_header -#endif +#define _WINREG_H +#include <_mingw.h> #ifndef WINADVAPI #define WINADVAPI @@ -11,6 +33,9 @@ #ifdef __cplusplus extern "C" { #endif + +#include + #define HKEY_CLASSES_ROOT ((HKEY)0x80000000) #define HKEY_CURRENT_USER ((HKEY)0x80000001) #define HKEY_LOCAL_MACHINE ((HKEY)0x80000002) @@ -20,6 +45,8 @@ extern "C" { #define HKEY_DYN_DATA ((HKEY)0x80000006) #define REG_OPTION_VOLATILE 1 #define REG_OPTION_NON_VOLATILE 0 +/* https://msdn.microsoft.com/en-us/library/aa965882%28v=vs.85%29.aspx */ +#define REG_OPTION_BACKUP_RESTORE 4 #define REG_CREATED_NEW_KEY 1 #define REG_OPENED_EXISTING_KEY 2 #define REG_NONE 0 @@ -40,6 +67,25 @@ extern "C" { #define REG_NOTIFY_CHANGE_ATTRIBUTES 2 #define REG_NOTIFY_CHANGE_LAST_SET 4 #define REG_NOTIFY_CHANGE_SECURITY 8 +/* https://msdn.microsoft.com/en-us/library/ms724868%28v=vs.85%29.aspx */ +#define RRF_RT_REG_NONE 0x00000001 +#define RRF_RT_REG_SZ 0x00000002 +#define RRF_RT_REG_EXPAND_SZ 0x00000004 +#define RRF_RT_REG_BINARY 0x00000008 +#define RRF_RT_REG_DWORD 0x00000010 +#define RRF_RT_DWORD 0x00000018 +#define RRF_RT_REG_MULTI_SZ 0x00000020 +#define RRF_RT_REG_QWORD 0x00000040 +#define RRF_RT_QWORD 0x00000048 +#define RRF_RT_ANY 0x0000ffff +#define RRF_SUBKEY_WOW6464KEY 0x00010000 +#define RRF_SUBKEY_WOW6432KEY 0x00020000 +#define RRF_NOEXPAND 0x10000000 +#define RRF_ZEROONFAILURE 0x20000000 +/* https://msdn.microsoft.com/en-us/library/ms724919%28v=vs.85%29.aspx */ +#define REG_STANDARD_FORMAT 1 +#define REG_LATEST_FORMAT 2 +#define REG_NO_COMPRESSION 4 #ifndef RC_INVOKED typedef ACCESS_MASK REGSAM; @@ -68,12 +114,11 @@ WINADVAPI LONG WINAPI RegCreateKeyExW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,LPS WINADVAPI LONG WINAPI RegCreateKeyW(HKEY,LPCWSTR,PHKEY); WINADVAPI LONG WINAPI RegDeleteKeyA(HKEY,LPCSTR); WINADVAPI LONG WINAPI RegDeleteKeyW(HKEY,LPCWSTR); -#if (WINVER >= 0x0502) -WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD); -WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD); -#endif + WINADVAPI LONG WINAPI RegDeleteValueA(HKEY,LPCSTR); WINADVAPI LONG WINAPI RegDeleteValueW(HKEY,LPCWSTR); +/* https://msdn.microsoft.com/en-us/library/ms724854%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegDisablePredefinedCache(void); WINADVAPI LONG WINAPI RegEnumKeyA(HKEY,DWORD,LPSTR,DWORD); WINADVAPI LONG WINAPI RegEnumKeyW(HKEY,DWORD,LPWSTR,DWORD); WINADVAPI LONG WINAPI RegEnumKeyExA(HKEY,DWORD,LPSTR,PDWORD,PDWORD,LPSTR,PDWORD,PFILETIME); @@ -85,10 +130,16 @@ WINADVAPI LONG WINAPI RegGetKeySecurity(HKEY,SECURITY_INFORMATION,PSECURITY_DESC WINADVAPI LONG WINAPI RegLoadKeyA(HKEY,LPCSTR,LPCSTR); WINADVAPI LONG WINAPI RegLoadKeyW(HKEY,LPCWSTR,LPCWSTR); WINADVAPI LONG WINAPI RegNotifyChangeKeyValue(HKEY,BOOL,DWORD,HANDLE,BOOL); +/* https://msdn.microsoft.com/en-us/library/ms724894%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegOpenCurrentUser(REGSAM,PHKEY); WINADVAPI LONG WINAPI RegOpenKeyA(HKEY,LPCSTR,PHKEY); WINADVAPI LONG WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY); WINADVAPI LONG WINAPI RegOpenKeyExW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY); WINADVAPI LONG WINAPI RegOpenKeyW(HKEY,LPCWSTR,PHKEY); +/* https://msdn.microsoft.com/en-us/library/ms724899%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegOpenUserClassesRoot(HANDLE,DWORD,REGSAM,PHKEY); +/* https://msdn.microsoft.com/en-us/library/ms724901%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegOverridePredefKey(HKEY,HKEY); WINADVAPI LONG WINAPI RegQueryInfoKeyA(HKEY,LPSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); WINADVAPI LONG WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PDWORD,PFILETIME); WINADVAPI LONG WINAPI RegQueryMultipleValuesA(HKEY,PVALENTA,DWORD,LPSTR,LPDWORD); @@ -111,65 +162,100 @@ WINADVAPI LONG WINAPI RegSetValueW(HKEY,LPCWSTR,DWORD,LPCWSTR,DWORD); WINADVAPI LONG WINAPI RegUnLoadKeyA(HKEY,LPCSTR); WINADVAPI LONG WINAPI RegUnLoadKeyW(HKEY,LPCWSTR); -#ifdef UNICODE -typedef VALENTW VALENT,*PVALENT; -#define AbortSystemShutdown AbortSystemShutdownW -#define InitiateSystemShutdown InitiateSystemShutdownW -#define RegConnectRegistry RegConnectRegistryW -#define RegCreateKey RegCreateKeyW -#define RegCreateKeyEx RegCreateKeyExW -#define RegDeleteKey RegDeleteKeyW -#if (WINVER >= 0x0502) -#define RegDeleteKeyEx RegDeleteKeyExW -#endif -#define RegDeleteValue RegDeleteValueW -#define RegEnumKey RegEnumKeyW -#define RegEnumKeyEx RegEnumKeyExW -#define RegEnumValue RegEnumValueW -#define RegLoadKey RegLoadKeyW -#define RegOpenKey RegOpenKeyW -#define RegOpenKeyEx RegOpenKeyExW -#define RegQueryInfoKey RegQueryInfoKeyW -#define RegQueryMultipleValues RegQueryMultipleValuesW -#define RegQueryValue RegQueryValueW -#define RegQueryValueEx RegQueryValueExW -#define RegReplaceKey RegReplaceKeyW -#define RegRestoreKey RegRestoreKeyW -#define RegSaveKey RegSaveKeyW -#define RegSetValue RegSetValueW -#define RegSetValueEx RegSetValueExW -#define RegUnLoadKey RegUnLoadKeyW -#else -typedef VALENTA VALENT,*PVALENT; -#define AbortSystemShutdown AbortSystemShutdownA -#define InitiateSystemShutdown InitiateSystemShutdownA -#define RegConnectRegistry RegConnectRegistryA -#define RegCreateKey RegCreateKeyA -#define RegCreateKeyEx RegCreateKeyExA -#define RegDeleteKey RegDeleteKeyA -#if (WINVER >= 0x0502) -#define RegDeleteKeyEx RegDeleteKeyExA -#endif -#define RegDeleteValue RegDeleteValueA -#define RegEnumKey RegEnumKeyA -#define RegEnumKeyEx RegEnumKeyExA -#define RegEnumValue RegEnumValueA -#define RegLoadKey RegLoadKeyA -#define RegOpenKey RegOpenKeyA -#define RegOpenKeyEx RegOpenKeyExA -#define RegQueryInfoKey RegQueryInfoKeyA -#define RegQueryMultipleValues RegQueryMultipleValuesA -#define RegQueryValue RegQueryValueA -#define RegQueryValueEx RegQueryValueExA -#define RegReplaceKey RegReplaceKeyA -#define RegRestoreKey RegRestoreKeyA -#define RegSaveKey RegSaveKeyA -#define RegSetValue RegSetValueA -#define RegSetValueEx RegSetValueExA -#define RegUnLoadKey RegUnLoadKeyA -#endif -#endif +typedef __AW(VALENT) VALENT,*PVALENT; +#define AbortSystemShutdown __AW(AbortSystemShutdown) +#define InitiateSystemShutdown __AW(InitiateSystemShutdown) +#define RegConnectRegistry __AW(RegConnectRegistry) +#define RegCreateKey __AW(RegCreateKey) +#define RegCreateKeyEx __AW(RegCreateKeyEx) +#define RegDeleteKey __AW(RegDeleteKey) + +#define RegDeleteValue __AW(RegDeleteValue) +#define RegEnumKey __AW(RegEnumKey) +#define RegEnumKeyEx __AW(RegEnumKeyEx) +#define RegEnumValue __AW(RegEnumValue) +#define RegLoadKey __AW(RegLoadKey) +#define RegOpenKey __AW(RegOpenKey) +#define RegOpenKeyEx __AW(RegOpenKeyEx) +#define RegQueryInfoKey __AW(RegQueryInfoKey) +#define RegQueryMultipleValues __AW(RegQueryMultipleValues) +#define RegQueryValue __AW(RegQueryValue) +#define RegQueryValueEx __AW(RegQueryValueEx) +#define RegReplaceKey __AW(RegReplaceKey) +#define RegRestoreKey __AW(RegRestoreKey) +#define RegSaveKey __AW(RegSaveKey) +#define RegSetValue __AW(RegSetValue) +#define RegSetValueEx __AW(RegSetValueEx) +#define RegUnLoadKey __AW(RegUnLoadKey) + +#if (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) +WINADVAPI LONG WINAPI RegDeleteKeyExA(HKEY,LPCSTR,REGSAM,DWORD); +WINADVAPI LONG WINAPI RegDeleteKeyExW(HKEY,LPCWSTR,REGSAM,DWORD); +#define RegDeleteKeyEx __AW(RegDeleteKeyEx) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WIN2K) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WINXP) +/* https://msdn.microsoft.com/en-us/library/ms724919%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegSaveKeyExA(HKEY,LPCSTR,LPSECURITY_ATTRIBUTES,DWORD); +WINADVAPI LONG WINAPI RegSaveKeyExW(HKEY,LPCWSTR,LPSECURITY_ATTRIBUTES,DWORD); +#define RegSaveKeyEx __AW(RegSaveKeyEx) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WINXP) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_WS03) +/* https://msdn.microsoft.com/en-us/library/ms724858%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegDisableReflectionKey(HKEY); +/* https://msdn.microsoft.com/en-us/library/ms724859%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegEnableReflectionKey(HKEY); +/* https://msdn.microsoft.com/en-us/library/ms724907%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegQueryReflectionKey(HKEY,BOOL*); +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_WS03) */ + +#if (_WIN32_WINNT >= _WIN32_WINNT_VISTA) +/* https://msdn.microsoft.com/en-us/library/aa379768%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegCopyTreeA(HKEY,LPCSTR,HKEY); +WINADVAPI LONG WINAPI RegCopyTreeW(HKEY,LPCWSTR,HKEY); +/* https://msdn.microsoft.com/en-us/library/aa965882%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegCreateKeyTransactedA(HKEY,LPCSTR,DWORD,LPSTR,DWORD,REGSAM,const LPSECURITY_ATTRIBUTES,PHKEY,LPDWORD,HANDLE,PVOID); +WINADVAPI LONG WINAPI RegCreateKeyTransactedW(HKEY,LPCWSTR,DWORD,LPWSTR,DWORD,REGSAM,const LPSECURITY_ATTRIBUTES,PHKEY,LPDWORD,HANDLE,PVOID); +/* https://msdn.microsoft.com/en-us/library/aa965883%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegDeleteKeyTransactedA(HKEY,LPCSTR,REGSAM,DWORD,HANDLE,PVOID); +WINADVAPI LONG WINAPI RegDeleteKeyTransactedW(HKEY,LPCWSTR,REGSAM,DWORD,HANDLE,PVOID); +/* https://msdn.microsoft.com/en-us/library/ms724848%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegDeleteKeyValueA(HKEY,LPCSTR,LPCSTR); +WINADVAPI LONG WINAPI RegDeleteKeyValueW(HKEY,LPCWSTR,LPCWSTR); +/* https://msdn.microsoft.com/en-us/library/aa379776%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegDeleteTreeA(HKEY,LPCSTR); +WINADVAPI LONG WINAPI RegDeleteTreeW(HKEY,LPCWSTR); +/* https://msdn.microsoft.com/en-us/library/ms724855%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegDisablePredefinedCacheEx(void); +/* https://msdn.microsoft.com/en-us/library/ms724868%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegGetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPDWORD,PVOID,LPDWORD); +WINADVAPI LONG WINAPI RegGetValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPDWORD,PVOID,LPDWORD); +/* https://msdn.microsoft.com/en-us/library/ms724890%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegLoadMUIStringA(HKEY,LPCSTR,LPSTR,DWORD,LPDWORD,DWORD,LPCSTR); +WINADVAPI LONG WINAPI RegLoadMUIStringW(HKEY,LPCWSTR,LPWSTR,DWORD,LPDWORD,DWORD,LPCWSTR); +/* https://msdn.microsoft.com/en-us/library/aa965886%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegOpenKeyTransactedA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY,HANDLE,PVOID); +WINADVAPI LONG WINAPI RegOpenKeyTransactedW(HKEY,LPCWSTR,DWORD,REGSAM,PHKEY,HANDLE,PVOID); +/* https://msdn.microsoft.com/en-us/library/ms724921%28v=vs.85%29.aspx */ +WINADVAPI LONG WINAPI RegSetKeyValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD); +WINADVAPI LONG WINAPI RegSetKeyValueW(HKEY,LPCWSTR,LPCWSTR,DWORD,LPCVOID,DWORD); + +#define RegCopyTree __AW(RegCopyTree) +#define RegCreateKeyTransacted __AW(RegCreateKeyTransacted) +#define RegDeleteKeyTransacted __AW(RegDeleteKeyTransacted) +#define RegDeleteKeyValue __AW(RegDeleteKeyValue) +#define RegDeleteTree __AW(RegDeleteTree) +#define RegGetValue __AW(RegGetValue) +#define RegLoadMUIString __AW(RegLoadMUIString) +#define RegOpenKeyTransacted __AW(RegOpenKeyTransacted) +#define RegSetKeyValue __AW(RegSetKeyValue) +#endif /* (_WIN32_WINNT >= _WIN32_WINNT_VISTA) */ + +#endif /* ! RC_INVOKED */ + #ifdef __cplusplus } #endif + #endif diff --git a/w32api/lib/advapi32.def b/w32api/lib/advapi32.def index dd358d4..6689a03 100644 --- a/w32api/lib/advapi32.def +++ b/w32api/lib/advapi32.def @@ -389,17 +389,30 @@ ReadEventLogW@28 RegCloseKey@4 RegConnectRegistryA@12 RegConnectRegistryW@12 +RegCopyTreeA@12 +RegCopyTreeW@12 RegCreateKeyA@12 RegCreateKeyExA@36 RegCreateKeyExW@36 +RegCreateKeyTransactedA@44 +RegCreateKeyTransactedW@44 RegCreateKeyW@12 RegDeleteKeyA@8 RegDeleteKeyW@8 RegDeleteKeyExA@16 RegDeleteKeyExW@16 +RegDeleteKeyTransactedA@24 +RegDeleteKeyTransactedW@24 +RegDeleteKeyValueA@12 +RegDeleteKeyValueW@12 +RegDeleteTreeA@8 +RegDeleteTreeW@8 RegDeleteValueA@8 RegDeleteValueW@8 RegDisablePredefinedCache@0 +RegDisablePredefinedCacheEx@0 +RegDisableReflectionKey@4 +RegEnableReflectionKey@4 RegEnumKeyA@16 RegEnumKeyExA@32 RegEnumKeyExW@32 @@ -408,13 +421,19 @@ RegEnumValueA@32 RegEnumValueW@32 RegFlushKey@4 RegGetKeySecurity@16 +RegGetValueA@28 +RegGetValueW@28 RegLoadKeyA@12 RegLoadKeyW@12 +RegLoadMUIStringA@28 +RegLoadMUIStringW@28 RegNotifyChangeKeyValue@20 RegOpenCurrentUser@8 RegOpenKeyA@12 RegOpenKeyExA@20 RegOpenKeyExW@20 +RegOpenKeyTransactedA@28 +RegOpenKeyTransactedW@28 RegOpenKeyW@12 RegOpenUserClassesRoot@16 RegOverridePredefKey@8 @@ -422,6 +441,7 @@ RegQueryInfoKeyA@48 RegQueryInfoKeyW@48 RegQueryMultipleValuesA@20 RegQueryMultipleValuesW@20 +RegQueryReflectionKey@8 RegQueryValueA@16 RegQueryValueExA@24 RegQueryValueExW@24 @@ -431,7 +451,11 @@ RegReplaceKeyW@16 RegRestoreKeyA@12 RegRestoreKeyW@12 RegSaveKeyA@12 +RegSaveKeyExA@16 +RegSaveKeyExW@16 RegSaveKeyW@12 +RegSetKeyValueA@24 +RegSetKeyValueW@24 RegSetKeySecurity@12 RegSetValueA@20 RegSetValueExA@24 diff --git a/w32api/lib/kernel32.def b/w32api/lib/kernel32.def index fca559a..f8a7715 100644 --- a/w32api/lib/kernel32.def +++ b/w32api/lib/kernel32.def @@ -957,17 +957,8 @@ ReadFileEx@20 ReadFileScatter@20 ReadProcessMemory@20 ReadThreadProfilingData@12 -RegDeleteTreeA@8 -RegDeleteTreeW@8 -RegDisablePredefinedCacheEx@0 -RegGetValueA@28 -RegGetValueW@28 RegKrnGetGlobalState@0 RegKrnInitialize@12 -RegLoadMUIStringA@28 -RegLoadMUIStringW@28 -RegSaveKeyExA@16 -RegSaveKeyExW@16 RegisterApplicationRecoveryCallback@16 RegisterApplicationRestart@8 RegisterConsoleIME@8