diff --git a/dlls/shlwapi/reg.c b/dlls/shlwapi/reg.c index 9f652c9df92..55952badb9f 100644 --- a/dlls/shlwapi/reg.c +++ b/dlls/shlwapi/reg.c @@ -1155,7 +1155,7 @@ DWORD WINAPI SHGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, * Success: ERROR_SUCCESS. Output parameters contain the details read. * Failure: An error code from RegOpenKeyExA() or SHQueryValueExA(). */ -DWORD WINAPI SHRegGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, DWORD srrfFlags, +LSTATUS WINAPI SHRegGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, SRRF srrfFlags, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData) { DWORD dwRet = 0; @@ -1180,7 +1180,7 @@ DWORD WINAPI SHRegGetValueA(HKEY hKey, LPCSTR lpszSubKey, LPCSTR lpszValue, DWOR * * See SHGetValueA. */ -DWORD WINAPI SHRegGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, DWORD srrfFlags, +LSTATUS WINAPI SHRegGetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, SRRF srrfFlags, LPDWORD pwType, LPVOID pvData, LPDWORD pcbData) { DWORD dwRet = 0; diff --git a/include/shlwapi.h b/include/shlwapi.h index eb363457444..fe33a17d012 100644 --- a/include/shlwapi.h +++ b/include/shlwapi.h @@ -85,6 +85,34 @@ DWORD WINAPI SHCopyKeyW(HKEY,LPCWSTR,HKEY,DWORD); HKEY WINAPI SHRegDuplicateHKey(HKEY); +/* SHRegGetValue flags */ +typedef INT SRRF; + +#define SRRF_RT_REG_NONE 0x1 +#define SRRF_RT_REG_SZ 0x2 +#define SRRF_RT_REG_EXPAND_SZ 0x4 +#define SRRF_RT_REG_BINARY 0x8 +#define SRRF_RT_REG_DWORD 0x10 +#define SRRF_RT_REG_MULTI_SZ 0x20 +#define SRRF_RT_REG_QWORD 0x40 + +#define SRRF_RT_DWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_DWORD) +#define SRRF_RT_QWORD (SRRF_RT_REG_BINARY|SRRF_RT_REG_QWORD) +#define SRRF_RT_ANY 0xffff + +#define SRRF_RM_ANY 0 +#define SRRF_RM_NORMAL 0x10000 +#define SRRF_RM_SAFE 0x20000 +#define SRRF_RM_SAFENETWORK 0x40000 + +#define SRRF_NOEXPAND 0x10000000 +#define SRRF_ZEROONFAILURE 0x20000000 +#define SRRF_NOVIRT 0x40000000 + +LSTATUS WINAPI SHRegGetValueA(HKEY,LPCSTR,LPCSTR,SRRF,LPDWORD,LPVOID,LPDWORD); +LSTATUS WINAPI SHRegGetValueW(HKEY,LPCWSTR,LPCWSTR,SRRF,LPDWORD,LPVOID,LPDWORD); +#define SHRegGetValue WINELIB_NAME_AW(SHRegGetValue) + /* Undocumented registry functions */ DWORD WINAPI SHDeleteOrphanKeyA(HKEY,LPCSTR);