diff --git a/reactos/include/wine/shlwapi.h b/reactos/include/wine/shlwapi.h index 53276de71ac..ffcc2bdfcb7 100644 --- a/reactos/include/wine/shlwapi.h +++ b/reactos/include/wine/shlwapi.h @@ -4,7 +4,18 @@ #define WINSHLWAPI /* First part: w32api shlwapi.h. - SHRegQueryInfoUSKeyA and SHRegQueryInfoUSKeyW miss the last parameter in w32api */ + SHRegQueryInfoUSKeyA and SHRegQueryInfoUSKeyW miss the last parameter in w32api + Following functions are declared by w32api as documented in MSDN, but the actual + declaration in the PSDK is different: + PathMakeSystemFolderA/W + PathUnmakeSystemFolderA/W + SHRegCloseUSKey + SHRegQueryInfoUSKeyA/W + SHRegEnumUSKeyA/W + SHQueryInfoKeyA/W + SHEnumKeyExA/W + SHEnumValueA/W + */ #if __GNUC__ >=3 #pragma GCC system_header @@ -262,8 +273,8 @@ WINSHLWAPI BOOL WINAPI PathIsURLA(LPCSTR); WINSHLWAPI BOOL WINAPI PathIsURLW(LPCWSTR); WINSHLWAPI BOOL WINAPI PathMakePrettyA(LPSTR); WINSHLWAPI BOOL WINAPI PathMakePrettyW(LPWSTR); -WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPSTR); -WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPWSTR); +WINSHLWAPI BOOL WINAPI PathMakeSystemFolderA(LPCSTR); +WINSHLWAPI BOOL WINAPI PathMakeSystemFolderW(LPCWSTR); WINSHLWAPI BOOL WINAPI PathMatchSpecA(LPCSTR,LPCSTR); WINSHLWAPI BOOL WINAPI PathMatchSpecW(LPCWSTR,LPCWSTR); WINSHLWAPI int WINAPI PathParseIconLocationA(LPSTR); @@ -298,8 +309,8 @@ WINSHLWAPI void WINAPI PathUndecorateA(LPSTR); WINSHLWAPI void WINAPI PathUndecorateW(LPWSTR); WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsA(LPCSTR,LPSTR,UINT); WINSHLWAPI BOOL WINAPI PathUnExpandEnvStringsW(LPCWSTR,LPWSTR,UINT); -WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPSTR); -WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR); +WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR); +WINSHLWAPI BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR); WINSHLWAPI void WINAPI PathUnquoteSpacesA(LPSTR); WINSHLWAPI void WINAPI PathUnquoteSpacesW(LPWSTR); WINSHLWAPI HRESULT WINAPI SHAutoComplete(HWND,DWORD); @@ -318,10 +329,10 @@ WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyA(HKEY,LPCSTR); WINSHLWAPI DWORD WINAPI SHDeleteEmptyKeyW(HKEY,LPCWSTR); WINSHLWAPI DWORD WINAPI SHDeleteKeyA(HKEY,LPCSTR); WINSHLWAPI DWORD WINAPI SHDeleteKeyW(HKEY,LPCWSTR); -WINSHLWAPI DWORD WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD); -WINSHLWAPI DWORD WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD); -WINSHLWAPI DWORD WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); -WINSHLWAPI DWORD WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); +WINSHLWAPI LONG WINAPI SHEnumKeyExA(HKEY,DWORD,LPSTR,LPDWORD); +WINSHLWAPI LONG WINAPI SHEnumKeyExW(HKEY,DWORD,LPWSTR,LPDWORD); +WINSHLWAPI LONG WINAPI SHQueryInfoKeyA(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); +WINSHLWAPI LONG WINAPI SHQueryInfoKeyW(HKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD); WINSHLWAPI DWORD WINAPI SHQueryValueExA(HKEY,LPCSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); WINSHLWAPI DWORD WINAPI SHQueryValueExW(HKEY,LPCWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); #ifndef __OBJC__ @@ -329,8 +340,8 @@ WINSHLWAPI HRESULT WINAPI SHGetThreadRef(IUnknown**); WINSHLWAPI HRESULT WINAPI SHSetThreadRef(IUnknown*); WINSHLWAPI BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*); #endif -WINSHLWAPI DWORD WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); -WINSHLWAPI DWORD WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); +WINSHLWAPI LONG WINAPI SHEnumValueA(HKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); +WINSHLWAPI LONG WINAPI SHEnumValueW(HKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD); WINSHLWAPI DWORD WINAPI SHGetValueA(HKEY,LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD); WINSHLWAPI DWORD WINAPI SHGetValueW(HKEY,LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD); WINSHLWAPI DWORD WINAPI SHSetValueA(HKEY,LPCSTR,LPCSTR,DWORD,LPCVOID,DWORD); @@ -377,7 +388,7 @@ WINSHLWAPI HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD); UrlUnescapeA(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE) #define UrlUnescapeInPlaceW(pszUrl,dwFlags )\ UrlUnescapeW(pszUrl, NULL, NULL, dwFlags | URL_UNESCAPE_INPLACE) -WINSHLWAPI DWORD WINAPI SHRegCloseUSKey(HUSKEY); +WINSHLWAPI LONG WINAPI SHRegCloseUSKey(HUSKEY); WINSHLWAPI LONG WINAPI SHRegCreateUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,DWORD); WINSHLWAPI LONG WINAPI SHRegCreateUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,DWORD); WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyA(HUSKEY,LPCSTR,SHREGDEL_FLAGS); @@ -385,8 +396,8 @@ WINSHLWAPI LONG WINAPI SHRegDeleteEmptyUSKeyW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS); WINSHLWAPI LONG WINAPI SHRegDeleteUSValueA(HUSKEY,LPCSTR,SHREGDEL_FLAGS); WINSHLWAPI LONG WINAPI SHRegDeleteUSValueW(HUSKEY,LPCWSTR,SHREGDEL_FLAGS); WINSHLWAPI HKEY WINAPI SHRegDuplicateHKey(HKEY); -WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS); -WINSHLWAPI DWORD WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS); +WINSHLWAPI LONG WINAPI SHRegEnumUSKeyA(HUSKEY,DWORD,LPSTR,LPDWORD,SHREGENUM_FLAGS); +WINSHLWAPI LONG WINAPI SHRegEnumUSKeyW(HUSKEY,DWORD,LPWSTR,LPDWORD,SHREGENUM_FLAGS); WINSHLWAPI DWORD WINAPI SHRegEnumUSValueA(HUSKEY,DWORD,LPSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS); WINSHLWAPI DWORD WINAPI SHRegEnumUSValueW(HUSKEY,DWORD,LPWSTR,LPDWORD,LPDWORD,LPVOID,LPDWORD,SHREGENUM_FLAGS); WINSHLWAPI BOOL WINAPI SHRegGetBoolUSValueA(LPCSTR,LPCSTR,BOOL,BOOL); @@ -397,8 +408,8 @@ WINSHLWAPI LONG WINAPI SHRegGetUSValueA(LPCSTR,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOO WINSHLWAPI LONG WINAPI SHRegGetUSValueW(LPCWSTR,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); WINSHLWAPI LONG WINAPI SHRegOpenUSKeyA(LPCSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); WINSHLWAPI LONG WINAPI SHRegOpenUSKeyW(LPCWSTR,REGSAM,HUSKEY,PHUSKEY,BOOL); -WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); -WINSHLWAPI DWORD WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); +WINSHLWAPI LONG WINAPI SHRegQueryInfoUSKeyA(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); +WINSHLWAPI LONG WINAPI SHRegQueryInfoUSKeyW(HUSKEY,LPDWORD,LPDWORD,LPDWORD,LPDWORD,SHREGENUM_FLAGS); WINSHLWAPI LONG WINAPI SHRegQueryUSValueA(HUSKEY,LPCSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); WINSHLWAPI LONG WINAPI SHRegQueryUSValueW(HUSKEY,LPCWSTR,LPDWORD,LPVOID,LPDWORD,BOOL,LPVOID,DWORD); WINSHLWAPI DWORD WINAPI SHRegSetPathA(HKEY,LPCSTR,LPCSTR,LPCSTR,DWORD); diff --git a/reactos/lib/shlwapi/path.c b/reactos/lib/shlwapi/path.c index eb84ae0e002..4a5bdfbcb37 100644 --- a/reactos/lib/shlwapi/path.c +++ b/reactos/lib/shlwapi/path.c @@ -3002,7 +3002,7 @@ static BOOL WINAPI SHLWAPI_UseSystemForSystemFolders() * TRUE If the path was changed to/already was a system folder * FALSE If the path is invalid or SetFileAttributesA() fails */ -BOOL WINAPI PathMakeSystemFolderA(LPSTR lpszPath) +BOOL WINAPI PathMakeSystemFolderA(LPCSTR lpszPath) { BOOL bRet = FALSE; @@ -3022,7 +3022,7 @@ BOOL WINAPI PathMakeSystemFolderA(LPSTR lpszPath) * * See PathMakeSystemFolderA. */ -BOOL WINAPI PathMakeSystemFolderW(LPWSTR lpszPath) +BOOL WINAPI PathMakeSystemFolderW(LPCWSTR lpszPath) { DWORD dwDefaultAttr = FILE_ATTRIBUTE_READONLY, dwAttr; WCHAR buff[MAX_PATH]; @@ -3417,7 +3417,7 @@ BOOL WINAPI PathRelativePathToW(LPWSTR lpszPath, LPCWSTR lpszFrom, DWORD dwAttrF * Failure: FALSE, if lpszPath is NULL, empty, not a directory, or calling * SetFileAttributesA() fails. */ -BOOL WINAPI PathUnmakeSystemFolderA(LPSTR lpszPath) +BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR lpszPath) { DWORD dwAttr; @@ -3436,7 +3436,7 @@ BOOL WINAPI PathUnmakeSystemFolderA(LPSTR lpszPath) * * See PathUnmakeSystemFolderA. */ -BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR lpszPath) +BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR lpszPath) { DWORD dwAttr; diff --git a/reactos/lib/shlwapi/reg.c b/reactos/lib/shlwapi/reg.c index bfd3b33bf09..82e4647f8b6 100644 --- a/reactos/lib/shlwapi/reg.c +++ b/reactos/lib/shlwapi/reg.c @@ -232,7 +232,7 @@ LONG WINAPI SHRegOpenUSKeyW( * Success: ERROR_SUCCESS * Failure: An error code from RegCloseKey(). */ -DWORD WINAPI SHRegCloseUSKey( +LONG WINAPI SHRegCloseUSKey( HUSKEY hUSKey) /* [I] Key to close */ { LPInternal_HUSKEY mihk = (LPInternal_HUSKEY)hUSKey; @@ -634,7 +634,7 @@ BOOL WINAPI SHRegGetBoolUSValueW( * Success: ERROR_SUCCESS * Failure: An error code from RegQueryInfoKeyA(). */ -DWORD WINAPI SHRegQueryInfoUSKeyA( +LONG WINAPI SHRegQueryInfoUSKeyA( HUSKEY hUSKey, /* [I] Key to query */ LPDWORD pcSubKeys, /* [O] Destination for number of sub keys */ LPDWORD pcchMaxSubKeyLen, /* [O] Destination for the length of the biggest sub key name */ @@ -675,7 +675,7 @@ DWORD WINAPI SHRegQueryInfoUSKeyA( * * See SHRegQueryInfoUSKeyA. */ -DWORD WINAPI SHRegQueryInfoUSKeyW( +LONG WINAPI SHRegQueryInfoUSKeyW( HUSKEY hUSKey, LPDWORD pcSubKeys, LPDWORD pcchMaxSubKeyLen, @@ -720,7 +720,7 @@ DWORD WINAPI SHRegQueryInfoUSKeyW( * Success: ERROR_SUCCESS * Failure: An error code from RegEnumKeyExA(). */ -DWORD WINAPI SHRegEnumUSKeyA( +LONG WINAPI SHRegEnumUSKeyA( HUSKEY hUSKey, /* [in] Key to enumerate */ DWORD dwIndex, /* [in] Index within hUSKey */ LPSTR pszName, /* [out] Name of the enumerated value */ @@ -755,7 +755,7 @@ DWORD WINAPI SHRegEnumUSKeyA( * * See SHRegEnumUSKeyA. */ -DWORD WINAPI SHRegEnumUSKeyW( +LONG WINAPI SHRegEnumUSKeyW( HUSKEY hUSKey, DWORD dwIndex, LPWSTR pszName, @@ -1104,8 +1104,8 @@ DWORD WINAPI SHSetValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue, * RETURNS * The result of calling RegQueryInfoKeyA(). */ -DWORD WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, - LPDWORD pwValues, LPDWORD pwValueMax) +LONG WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, + LPDWORD pwValues, LPDWORD pwValueMax) { TRACE("(hkey=%p,%p,%p,%p,%p)\n", hKey, pwSubKeys, pwSubKeyMax, pwValues, pwValueMax); @@ -1118,8 +1118,8 @@ DWORD WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, * * See SHQueryInfoKeyA. */ -DWORD WINAPI SHQueryInfoKeyW(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, - LPDWORD pwValues, LPDWORD pwValueMax) +LONG WINAPI SHQueryInfoKeyW(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, + LPDWORD pwValues, LPDWORD pwValueMax) { TRACE("(hkey=%p,%p,%p,%p,%p)\n", hKey, pwSubKeys, pwSubKeyMax, pwValues, pwValueMax); @@ -1593,8 +1593,8 @@ DWORD WINAPI SHDeleteValueW(HKEY hKey, LPCWSTR lpszSubKey, LPCWSTR lpszValue) * Success: ERROR_SUCCESS. lpszSubKey and pwLen are updated. * Failure: An error code from RegEnumKeyExA(). */ -DWORD WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, - LPDWORD pwLen) +LONG WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, + LPDWORD pwLen) { TRACE("(hkey=%p,%ld,%s,%p)\n", hKey, dwIndex, debugstr_a(lpszSubKey), pwLen); @@ -1606,8 +1606,8 @@ DWORD WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, * * See SHEnumKeyExA. */ -DWORD WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, - LPDWORD pwLen) +LONG WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, + LPDWORD pwLen) { TRACE("(hkey=%p,%ld,%s,%p)\n", hKey, dwIndex, debugstr_w(lpszSubKey), pwLen); @@ -1632,9 +1632,9 @@ DWORD WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, * Success: ERROR_SUCCESS. Output parameters are updated. * Failure: An error code from RegEnumValueA(). */ -DWORD WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, - LPDWORD pwLen, LPDWORD pwType, - LPVOID pvData, LPDWORD pcbData) +LONG WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, + LPDWORD pwLen, LPDWORD pwType, + LPVOID pvData, LPDWORD pcbData) { TRACE("(hkey=%p,%ld,%s,%p,%p,%p,%p)\n", hKey, dwIndex, debugstr_a(lpszValue), pwLen, pwType, pvData, pcbData); @@ -1648,9 +1648,9 @@ DWORD WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, * * See SHEnumValueA. */ -DWORD WINAPI SHEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpszValue, - LPDWORD pwLen, LPDWORD pwType, - LPVOID pvData, LPDWORD pcbData) +LONG WINAPI SHEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpszValue, + LPDWORD pwLen, LPDWORD pwType, + LPVOID pvData, LPDWORD pcbData) { TRACE("(hkey=%p,%ld,%s,%p,%p,%p,%p)\n", hKey, dwIndex, debugstr_w(lpszValue), pwLen, pwType, pvData, pcbData); diff --git a/reactos/lib/shlwapi/url.c b/reactos/lib/shlwapi/url.c index f1f26fd8992..96e8c3f6242 100644 --- a/reactos/lib/shlwapi/url.c +++ b/reactos/lib/shlwapi/url.c @@ -1403,7 +1403,7 @@ HRESULT WINAPI HashData(LPBYTE lpSrc, DWORD nSrcLen, if (IsBadReadPtr(lpSrc, nSrcLen) || IsBadWritePtr(lpDest, nDestLen)) - return ERROR_INVALID_PARAMETER; + return E_INVALIDARG; while (destCount >= 0) { @@ -1421,7 +1421,7 @@ HRESULT WINAPI HashData(LPBYTE lpSrc, DWORD nSrcLen, } srcCount--; } - return ERROR_SUCCESS; + return S_OK; } /************************************************************************* diff --git a/reactos/lib/shlwapi/winehq2ros.patch b/reactos/lib/shlwapi/winehq2ros.patch index 000634e4f6d..0be752e7f8a 100644 --- a/reactos/lib/shlwapi/winehq2ros.patch +++ b/reactos/lib/shlwapi/winehq2ros.patch @@ -4,7 +4,7 @@ RCS file: /home/wine/wine/dlls/shlwapi/istream.c,v retrieving revision 1.9 diff -u -r1.9 istream.c --- istream.c 24 Sep 2003 05:14:39 -0000 1.9 -+++ istream.c 22 Jan 2004 20:39:18 -0000 ++++ istream.c 22 Jan 2004 23:34:22 -0000 @@ -163,12 +163,12 @@ TRACE("(%p,%ld,%ld,%p)\n", This, dlibMove.s.LowPart, dwOrigin, pNewPos); @@ -38,7 +38,7 @@ RCS file: /home/wine/wine/dlls/shlwapi/ordinal.c,v retrieving revision 1.75 diff -u -r1.75 ordinal.c --- ordinal.c 1 Oct 2003 03:10:42 -0000 1.75 -+++ ordinal.c 22 Jan 2004 20:39:20 -0000 ++++ ordinal.c 22 Jan 2004 23:34:24 -0000 @@ -3414,7 +3414,7 @@ * Success: A handle to the loaded module * Failure: A NULL handle. @@ -63,7 +63,7 @@ RCS file: /home/wine/wine/dlls/shlwapi/path.c,v retrieving revision 1.40 diff -u -r1.40 path.c --- path.c 19 Jan 2004 21:46:14 -0000 1.40 -+++ path.c 22 Jan 2004 20:39:22 -0000 ++++ path.c 22 Jan 2004 23:34:26 -0000 @@ -32,6 +32,7 @@ #include "wingdi.h" #include "winuser.h" @@ -72,24 +72,6 @@ diff -u -r1.40 path.c #define NO_SHLWAPI_STREAM #include "shlwapi.h" #include "wine/debug.h" -@@ -3001,7 +3002,7 @@ - * TRUE If the path was changed to/already was a system folder - * FALSE If the path is invalid or SetFileAttributesA() fails - */ --BOOL WINAPI PathMakeSystemFolderA(LPCSTR lpszPath) -+BOOL WINAPI PathMakeSystemFolderA(LPSTR lpszPath) - { - BOOL bRet = FALSE; - -@@ -3021,7 +3022,7 @@ - * - * See PathMakeSystemFolderA. - */ --BOOL WINAPI PathMakeSystemFolderW(LPCWSTR lpszPath) -+BOOL WINAPI PathMakeSystemFolderW(LPWSTR lpszPath) - { - DWORD dwDefaultAttr = FILE_ATTRIBUTE_READONLY, dwAttr; - WCHAR buff[MAX_PATH]; @@ -3268,7 +3269,7 @@ if (lpszUrl[1] != ':' && lpszUrl[1] != '|' && isalphaW(*lpszUrl)) return E_INVALIDARG; @@ -99,24 +81,6 @@ diff -u -r1.40 path.c if (lpszPath[1] == '|') lpszPath[1] = ':'; -@@ -3416,7 +3417,7 @@ - * Failure: FALSE, if lpszPath is NULL, empty, not a directory, or calling - * SetFileAttributesA() fails. - */ --BOOL WINAPI PathUnmakeSystemFolderA(LPCSTR lpszPath) -+BOOL WINAPI PathUnmakeSystemFolderA(LPSTR lpszPath) - { - DWORD dwAttr; - -@@ -3435,7 +3436,7 @@ - * - * See PathUnmakeSystemFolderA. - */ --BOOL WINAPI PathUnmakeSystemFolderW(LPCWSTR lpszPath) -+BOOL WINAPI PathUnmakeSystemFolderW(LPWSTR lpszPath) - { - DWORD dwAttr; - @@ -3745,7 +3746,7 @@ * The match is made against the end of the suffix string, so for example: * lpszSuffix="fooBAR" matches "BAR", but lpszSuffix="fooBARfoo" does not. @@ -167,135 +131,13 @@ diff -u -r1.40 path.c } /************************************************************************* -Index: reg.c -=================================================================== -RCS file: /home/wine/wine/dlls/shlwapi/reg.c,v -retrieving revision 1.45 -diff -u -r1.45 reg.c ---- reg.c 18 Jan 2004 22:07:57 -0000 1.45 -+++ reg.c 22 Jan 2004 20:39:23 -0000 -@@ -232,7 +232,7 @@ - * Success: ERROR_SUCCESS - * Failure: An error code from RegCloseKey(). - */ --LONG WINAPI SHRegCloseUSKey( -+DWORD WINAPI SHRegCloseUSKey( - HUSKEY hUSKey) /* [I] Key to close */ - { - LPInternal_HUSKEY mihk = (LPInternal_HUSKEY)hUSKey; -@@ -634,7 +634,7 @@ - * Success: ERROR_SUCCESS - * Failure: An error code from RegQueryInfoKeyA(). - */ --LONG WINAPI SHRegQueryInfoUSKeyA( -+DWORD WINAPI SHRegQueryInfoUSKeyA( - HUSKEY hUSKey, /* [I] Key to query */ - LPDWORD pcSubKeys, /* [O] Destination for number of sub keys */ - LPDWORD pcchMaxSubKeyLen, /* [O] Destination for the length of the biggest sub key name */ -@@ -675,7 +675,7 @@ - * - * See SHRegQueryInfoUSKeyA. - */ --LONG WINAPI SHRegQueryInfoUSKeyW( -+DWORD WINAPI SHRegQueryInfoUSKeyW( - HUSKEY hUSKey, - LPDWORD pcSubKeys, - LPDWORD pcchMaxSubKeyLen, -@@ -720,7 +720,7 @@ - * Success: ERROR_SUCCESS - * Failure: An error code from RegEnumKeyExA(). - */ --LONG WINAPI SHRegEnumUSKeyA( -+DWORD WINAPI SHRegEnumUSKeyA( - HUSKEY hUSKey, /* [in] Key to enumerate */ - DWORD dwIndex, /* [in] Index within hUSKey */ - LPSTR pszName, /* [out] Name of the enumerated value */ -@@ -755,7 +755,7 @@ - * - * See SHRegEnumUSKeyA. - */ --LONG WINAPI SHRegEnumUSKeyW( -+DWORD WINAPI SHRegEnumUSKeyW( - HUSKEY hUSKey, - DWORD dwIndex, - LPWSTR pszName, -@@ -1104,8 +1104,8 @@ - * RETURNS - * The result of calling RegQueryInfoKeyA(). - */ --LONG WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, -- LPDWORD pwValues, LPDWORD pwValueMax) -+DWORD WINAPI SHQueryInfoKeyA(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, -+ LPDWORD pwValues, LPDWORD pwValueMax) - { - TRACE("(hkey=%p,%p,%p,%p,%p)\n", hKey, pwSubKeys, pwSubKeyMax, - pwValues, pwValueMax); -@@ -1118,8 +1118,8 @@ - * - * See SHQueryInfoKeyA. - */ --LONG WINAPI SHQueryInfoKeyW(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, -- LPDWORD pwValues, LPDWORD pwValueMax) -+DWORD WINAPI SHQueryInfoKeyW(HKEY hKey, LPDWORD pwSubKeys, LPDWORD pwSubKeyMax, -+ LPDWORD pwValues, LPDWORD pwValueMax) - { - TRACE("(hkey=%p,%p,%p,%p,%p)\n", hKey, pwSubKeys, pwSubKeyMax, - pwValues, pwValueMax); -@@ -1593,8 +1593,8 @@ - * Success: ERROR_SUCCESS. lpszSubKey and pwLen are updated. - * Failure: An error code from RegEnumKeyExA(). - */ --LONG WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, -- LPDWORD pwLen) -+DWORD WINAPI SHEnumKeyExA(HKEY hKey, DWORD dwIndex, LPSTR lpszSubKey, -+ LPDWORD pwLen) - { - TRACE("(hkey=%p,%ld,%s,%p)\n", hKey, dwIndex, debugstr_a(lpszSubKey), pwLen); - -@@ -1606,8 +1606,8 @@ - * - * See SHEnumKeyExA. - */ --LONG WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, -- LPDWORD pwLen) -+DWORD WINAPI SHEnumKeyExW(HKEY hKey, DWORD dwIndex, LPWSTR lpszSubKey, -+ LPDWORD pwLen) - { - TRACE("(hkey=%p,%ld,%s,%p)\n", hKey, dwIndex, debugstr_w(lpszSubKey), pwLen); - -@@ -1632,9 +1632,9 @@ - * Success: ERROR_SUCCESS. Output parameters are updated. - * Failure: An error code from RegEnumValueA(). - */ --LONG WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, -- LPDWORD pwLen, LPDWORD pwType, -- LPVOID pvData, LPDWORD pcbData) -+DWORD WINAPI SHEnumValueA(HKEY hKey, DWORD dwIndex, LPSTR lpszValue, -+ LPDWORD pwLen, LPDWORD pwType, -+ LPVOID pvData, LPDWORD pcbData) - { - TRACE("(hkey=%p,%ld,%s,%p,%p,%p,%p)\n", hKey, dwIndex, - debugstr_a(lpszValue), pwLen, pwType, pvData, pcbData); -@@ -1648,9 +1648,9 @@ - * - * See SHEnumValueA. - */ --LONG WINAPI SHEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpszValue, -- LPDWORD pwLen, LPDWORD pwType, -- LPVOID pvData, LPDWORD pcbData) -+DWORD WINAPI SHEnumValueW(HKEY hKey, DWORD dwIndex, LPWSTR lpszValue, -+ LPDWORD pwLen, LPDWORD pwType, -+ LPVOID pvData, LPDWORD pcbData) - { - TRACE("(hkey=%p,%ld,%s,%p,%p,%p,%p)\n", hKey, dwIndex, - debugstr_w(lpszValue), pwLen, pwType, pvData, pcbData); Index: shlwapi.spec =================================================================== RCS file: /home/wine/wine/dlls/shlwapi/shlwapi.spec,v retrieving revision 1.83 diff -u -r1.83 shlwapi.spec --- shlwapi.spec 19 Jan 2004 21:46:14 -0000 1.83 -+++ shlwapi.spec 22 Jan 2004 20:39:24 -0000 ++++ shlwapi.spec 22 Jan 2004 23:34:28 -0000 @@ -374,8 +374,8 @@ 374 stub -noname SHCheckDiskForMediaA 375 stub -noname SHCheckDiskForMediaW @@ -313,7 +155,7 @@ RCS file: /home/wine/wine/dlls/shlwapi/string.c,v retrieving revision 1.39 diff -u -r1.39 string.c --- string.c 22 Nov 2003 00:00:53 -0000 1.39 -+++ string.c 22 Jan 2004 20:39:25 -0000 ++++ string.c 22 Jan 2004 23:34:30 -0000 @@ -556,7 +556,7 @@ { TRACE("(%s,%s)\n", debugstr_w(lpszStr), debugstr_w(lpszSearch)); @@ -356,7 +198,7 @@ RCS file: /home/wine/wine/dlls/shlwapi/url.c,v retrieving revision 1.26 diff -u -r1.26 url.c --- url.c 1 Oct 2003 03:10:42 -0000 1.26 -+++ url.c 22 Jan 2004 20:39:26 -0000 ++++ url.c 22 Jan 2004 23:34:31 -0000 @@ -34,9 +34,9 @@ #include "shlwapi.h" #include "wine/debug.h" @@ -402,7 +244,7 @@ diff -u -r1.26 url.c if (IsBadReadPtr(lpSrc, nSrcLen) || IsBadWritePtr(lpDest, nDestLen)) - return FALSE; -+ return ERROR_INVALID_PARAMETER; ++ return E_INVALIDARG; while (destCount >= 0) { @@ -411,7 +253,7 @@ diff -u -r1.26 url.c srcCount--; } - return TRUE; -+ return ERROR_SUCCESS; ++ return S_OK; } /*************************************************************************