Fix various function prototypes to conform to PSDK.

diff --git a/dlls/dmusic/dmusic.c b/dlls/dmusic/dmusic.c
index 88fd1ef..ab7e758 100644
--- a/dlls/dmusic/dmusic.c
+++ b/dlls/dmusic/dmusic.c
@@ -211,7 +211,7 @@
 	}
 	/* FIXME: Check return types to ensure we're interpreting data right */
 	MultiByteToWideChar(CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff) / sizeof(WCHAR));
-	CLSIDFromString((LPCOLESTR) buff, &defaultPortGUID);
+	CLSIDFromString(buff, &defaultPortGUID);
 	*pguidPort = defaultPortGUID;
 	
 	return S_OK;
diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index 7e7d2c1..a99ea62 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -3743,7 +3743,7 @@
 
       /* FIXME: Check return types to ensure we're interpreting data right */
       MultiByteToWideChar( CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-      CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+      CLSIDFromString( buff, &serviceProviderGUID );
       /* FIXME: Have I got a memory leak on the serviceProviderGUID? */
 
       /* Fill in the DPNAME struct for the service provider */
@@ -3838,7 +3838,7 @@
 
       /* FIXME: Check return types to ensure we're interpreting data right */
       MultiByteToWideChar( CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-      CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+      CLSIDFromString( buff, &serviceProviderGUID );
       /* FIXME: Have I got a memory leak on the serviceProviderGUID? */
 
       /* Fill in the DPNAME struct for the service provider */
@@ -4079,7 +4079,7 @@
 
       /* FIXME: Check return types to ensure we're interpreting data right */
       MultiByteToWideChar( CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-      CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+      CLSIDFromString( buff, &serviceProviderGUID );
       /* FIXME: Have I got a memory leak on the serviceProviderGUID? */
 
       /* Determine if this is the Service Provider that the user asked for */
@@ -5281,7 +5281,7 @@
 
     /* FIXME: Check return types to ensure we're interpreting data right */
     MultiByteToWideChar( CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-    CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+    CLSIDFromString( buff, &serviceProviderGUID );
 
     /* FIXME: Need to know which of dwReserved1 and dwReserved2 are maj and min */
 
diff --git a/dlls/dplayx/dplobby.c b/dlls/dplayx/dplobby.c
index d183f31..913c50a 100644
--- a/dlls/dplayx/dplobby.c
+++ b/dlls/dplayx/dplobby.c
@@ -800,7 +800,7 @@
 
       /* FIXME: Check return types to ensure we're interpreting data right */
       MultiByteToWideChar( CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-      CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+      CLSIDFromString( buff, &serviceProviderGUID );
       /* FIXME: Have I got a memory leak on the serviceProviderGUID? */
 
       /* Determine if this is the Service Provider that the user asked for */
@@ -827,7 +827,7 @@
 
         /* FIXME: Check return types to ensure we're interpreting data right */
         MultiByteToWideChar( CP_ACP, 0, atSubKey, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-        CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+        CLSIDFromString( buff, &serviceProviderGUID );
         /* FIXME: Have I got a memory leak on the serviceProviderGUID? */
 
         /* The enumeration will return FALSE if we are not to continue */
@@ -945,7 +945,7 @@
 
     /* FIXME: Check return types to ensure we're interpreting data right */
     MultiByteToWideChar( CP_ACP, 0, returnBuffer, -1, buff, sizeof(buff)/sizeof(WCHAR) );
-    CLSIDFromString( (LPCOLESTR)buff, &serviceProviderGUID );
+    CLSIDFromString( buff, &serviceProviderGUID );
     /* FIXME: Have I got a memory leak on the serviceProviderGUID? */
 
     dplAppInfo.dwSize               = sizeof( dplAppInfo );
diff --git a/dlls/ole32/compobj.c b/dlls/ole32/compobj.c
index 7098216..895d1fe 100644
--- a/dlls/ole32/compobj.c
+++ b/dlls/ole32/compobj.c
@@ -565,7 +565,7 @@
 /*****************************************************************************/
 
 HRESULT WINAPI CLSIDFromString(
-	LPCOLESTR idstr,	/* [in] string representation of GUID */
+	LPOLESTR idstr,		/* [in] string representation of GUID */
 	CLSID *id )		/* [out] GUID represented by above string */
 {
     char xid[40];
diff --git a/dlls/ole32/ole2stubs.c b/dlls/ole32/ole2stubs.c
index 5e4fd59..5d210ef 100644
--- a/dlls/ole32/ole2stubs.c
+++ b/dlls/ole32/ole2stubs.c
@@ -47,11 +47,11 @@
 /******************************************************************************
  *              OleDuplicateData        [OLE32.@]
  */
-HRESULT WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat,
+HANDLE WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat,
 	                          UINT uiFlags)
 {
     FIXME("(%p,%x,%x), stub!\n", hSrc, cfFormat, uiFlags);
-    return E_NOTIMPL;
+    return NULL;
 }
 
 
diff --git a/dlls/ole32/storage32.c b/dlls/ole32/storage32.c
index 210fb4d..2241049 100644
--- a/dlls/ole32/storage32.c
+++ b/dlls/ole32/storage32.c
@@ -5803,7 +5803,8 @@
  *
  *
  */
-HRESULT WINAPI StgSetTimes(OLECHAR *str, FILETIME *a, FILETIME *b, FILETIME *c )
+HRESULT WINAPI StgSetTimes(OLECHAR const *str, FILETIME const *a,
+                           FILETIME const *b, FILETIME const *c )
 {
   FIXME("(%s, %p, %p, %p),stub!\n", debugstr_w(str), a, b, c);
   return S_OK;
@@ -7435,8 +7436,8 @@
 /***********************************************************************
  *		GetConvertStg (OLE32.@)
  */
-HRESULT WINAPI GetConvertStg(LPGUID guid) {
-    FIXME("(%s), unimplemented stub!\n",debugstr_guid(guid));
+HRESULT WINAPI GetConvertStg(IStorage *stg) {
+    FIXME("unimplemented stub!\n");
     return E_FAIL;
 }
 
diff --git a/dlls/shell32/shellole.c b/dlls/shell32/shellole.c
index 6ec6f8d..85a21b4 100644
--- a/dlls/shell32/shellole.c
+++ b/dlls/shell32/shellole.c
@@ -282,7 +282,7 @@
 DWORD WINAPI SHCLSIDFromStringW (LPCWSTR clsid, CLSID *id)
 {
 	TRACE("(%p(%s) %p)\n", clsid, debugstr_w(clsid), id);
-	return CLSIDFromString(clsid, id);
+	return CLSIDFromString((LPWSTR)clsid, id);
 }
 DWORD WINAPI SHCLSIDFromStringAW (LPVOID clsid, CLSID *id)
 {
diff --git a/dlls/shlwapi/path.c b/dlls/shlwapi/path.c
index 51d97b0..536e35f 100644
--- a/dlls/shlwapi/path.c
+++ b/dlls/shlwapi/path.c
@@ -3268,7 +3268,7 @@
   if (lpszUrl[1] != ':' && lpszUrl[1] != '|' && isalphaW(*lpszUrl))
     return E_INVALIDARG;
 
-  hr = UrlUnescapeW(lpszUrl, lpszPath, pcchPath, dwFlags);
+  hr = UrlUnescapeW((LPWSTR) lpszUrl, lpszPath, pcchPath, dwFlags);
   if (lpszPath[1] == '|')
     lpszPath[1] = ':';
 
@@ -3745,7 +3745,7 @@
  *  The match is made against the end of the suffix string, so for example:
  *  lpszSuffix="fooBAR" matches "BAR", but lpszSuffix="fooBARfoo" does not.
  */
-int WINAPI PathFindSuffixArrayA(LPCSTR lpszSuffix, LPCSTR *lppszArray, int dwCount)
+LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR lpszSuffix, LPCSTR *lppszArray, int dwCount)
 {
   size_t dwLen;
   int dwRet = 0;
@@ -3762,13 +3762,13 @@
       if (dwCompareLen < dwLen)
       {
         if (!strcmp(lpszSuffix + dwLen - dwCompareLen, *lppszArray))
-          return dwRet; /* Found */
+          return *lppszArray; /* Found */
       }
       dwRet++;
       lppszArray++;
     }
   }
-  return 0;
+  return NULL;
 }
 
 /*************************************************************************
@@ -3776,7 +3776,7 @@
  *
  * See PathFindSuffixArrayA.
  */
-int WINAPI PathFindSuffixArrayW(LPCWSTR lpszSuffix, LPCWSTR *lppszArray, int dwCount)
+LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR lpszSuffix, LPCWSTR *lppszArray, int dwCount)
 {
   size_t dwLen;
   int dwRet = 0;
@@ -3793,13 +3793,13 @@
       if (dwCompareLen < dwLen)
       {
         if (!strcmpW(lpszSuffix + dwLen - dwCompareLen, *lppszArray))
-          return dwRet; /* Found */
+          return *lppszArray; /* Found */
       }
       dwRet++;
       lppszArray++;
     }
   }
-  return 0;
+  return NULL;
 }
 
 /*************************************************************************
diff --git a/dlls/shlwapi/string.c b/dlls/shlwapi/string.c
index d9472ad..2f4c836 100644
--- a/dlls/shlwapi/string.c
+++ b/dlls/shlwapi/string.c
@@ -1343,14 +1343,14 @@
  *           CoTaskMemFree() and its type set to STRRET_CSTRA.
  *  Failure: E_FAIL, if any parameters are invalid.
  */
-HRESULT WINAPI StrRetToBufA (LPSTRRET src, const ITEMIDLIST *pidl, LPSTR dest, DWORD len)
+HRESULT WINAPI StrRetToBufA (LPSTRRET src, const ITEMIDLIST *pidl, LPSTR dest, UINT len)
 {
 	/* NOTE:
 	 *  This routine is identical to that in dlls/shell32/shellstring.c.
 	 *  It was duplicated because not every version of Shlwapi.dll exports
 	 *  StrRetToBufA. If you change one routine, change them both.
 	 */
-	TRACE("dest=%p len=0x%lx strret=%p pidl=%p stub\n",dest,len,src,pidl);
+	TRACE("dest=%p len=0x%x strret=%p pidl=%p stub\n",dest,len,src,pidl);
 
 	if (!src)
 	{
@@ -1392,9 +1392,9 @@
  *
  * See StrRetToBufA.
  */
-HRESULT WINAPI StrRetToBufW (LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, DWORD len)
+HRESULT WINAPI StrRetToBufW (LPSTRRET src, const ITEMIDLIST *pidl, LPWSTR dest, UINT len)
 {
-	TRACE("dest=%p len=0x%lx strret=%p pidl=%p stub\n",dest,len,src,pidl);
+	TRACE("dest=%p len=0x%x strret=%p pidl=%p stub\n",dest,len,src,pidl);
 
 	if (!src)
 	{
diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c
index e078f1c..8235334 100644
--- a/dlls/shlwapi/url.c
+++ b/dlls/shlwapi/url.c
@@ -1130,7 +1130,7 @@
  *  the first occurrence of either a '?' or '#' character.
  */
 HRESULT WINAPI UrlUnescapeA(
-	LPCSTR pszUrl,
+	LPSTR pszUrl,
 	LPSTR pszUnescaped,
 	LPDWORD pcchUnescaped,
 	DWORD dwFlags)
@@ -1145,7 +1145,7 @@
 	  pcchUnescaped, dwFlags);
 
     if(dwFlags & URL_UNESCAPE_INPLACE)
-        dst = (char*)pszUrl;
+        dst = pszUrl;
     else
         dst = pszUnescaped;
 
@@ -1194,7 +1194,7 @@
  * See UrlUnescapeA.
  */
 HRESULT WINAPI UrlUnescapeW(
-	LPCWSTR pszUrl,
+	LPWSTR pszUrl,
 	LPWSTR pszUnescaped,
 	LPDWORD pcchUnescaped,
 	DWORD dwFlags)
@@ -1209,7 +1209,7 @@
 	  pcchUnescaped, dwFlags);
 
     if(dwFlags & URL_UNESCAPE_INPLACE)
-        dst = (WCHAR*)pszUrl;
+        dst = pszUrl;
     else
         dst = pszUnescaped;
 
@@ -1396,14 +1396,14 @@
  *  Success: TRUE. lpDest is filled with the computed hash value.
  *  Failure: FALSE, if any argument is invalid.
  */
-BOOL WINAPI HashData(const unsigned char *lpSrc, INT nSrcLen,
-                     unsigned char *lpDest, INT nDestLen)
+HRESULT WINAPI HashData(const unsigned char *lpSrc, DWORD nSrcLen,
+                     unsigned char *lpDest, DWORD nDestLen)
 {
   INT srcCount = nSrcLen - 1, destCount = nDestLen - 1;
 
   if (IsBadReadPtr(lpSrc, nSrcLen) ||
       IsBadWritePtr(lpDest, nDestLen))
-    return FALSE;
+    return E_INVALIDARG;
 
   while (destCount >= 0)
   {
@@ -1421,7 +1421,7 @@
     }
     srcCount--;
   }
-  return TRUE;
+  return S_OK;
 }
 
 /*************************************************************************
@@ -1438,7 +1438,7 @@
  *  Success: S_OK. lpDest is filled with the computed hash value.
  *  Failure: E_INVALIDARG, if any argument is invalid.
  */
-HRESULT WINAPI UrlHashA(LPCSTR pszUrl, unsigned char *lpDest, INT nDestLen)
+HRESULT WINAPI UrlHashA(LPCSTR pszUrl, unsigned char *lpDest, DWORD nDestLen)
 {
   if (IsBadStringPtrA(pszUrl, -1) || IsBadWritePtr(lpDest, nDestLen))
     return E_INVALIDARG;
@@ -1452,11 +1452,11 @@
  *
  * See UrlHashA.
  */
-HRESULT WINAPI UrlHashW(LPCWSTR pszUrl, unsigned char *lpDest, INT nDestLen)
+HRESULT WINAPI UrlHashW(LPCWSTR pszUrl, unsigned char *lpDest, DWORD nDestLen)
 {
   char szUrl[MAX_PATH];
 
-  TRACE("(%s,%p,%d)\n",debugstr_w(pszUrl), lpDest, nDestLen);
+  TRACE("(%s,%p,%ld)\n",debugstr_w(pszUrl), lpDest, nDestLen);
 
   if (IsBadStringPtrW(pszUrl, -1) || IsBadWritePtr(lpDest, nDestLen))
     return E_INVALIDARG;
@@ -1900,9 +1900,9 @@
     memset(pl, 0, sizeof(WINE_PARSE_URL));
     pl->pScheme = pszUrl;
     work = URL_ScanID(pl->pScheme, &pl->szScheme, SCHEME);
-    if (!*work || (*work != L':')) goto ERROR;
+    if (!*work || (*work != L':')) goto ErrorExit;
     work++;
-    if ((*work != L'/') || (*(work+1) != L'/')) goto ERROR;
+    if ((*work != L'/') || (*(work+1) != L'/')) goto ErrorExit;
     pl->pUserName = work + 2;
     work = URL_ScanID(pl->pUserName, &pl->szUserName, USERPASS);
     if (*work == L':' ) {
@@ -1926,7 +1926,7 @@
 	pl->szUserName = pl->szPassword = 0;
 	work = pl->pUserName - 1;
 	pl->pUserName = pl->pPassword = 0;
-    } else goto ERROR;
+    } else goto ErrorExit;
 
     /* now start parsing hostname or hostnumber */
     work++;
@@ -1951,7 +1951,7 @@
 	  pl->pPort, pl->szPort,
 	  pl->pQuery, pl->szQuery);
     return S_OK;
-  ERROR:
+  ErrorExit:
     FIXME("failed to parse %s\n", debugstr_w(pszUrl));
     return E_INVALIDARG;
 }
diff --git a/include/objbase.h b/include/objbase.h
index 44dede3..121a6c3 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -434,7 +434,7 @@
 HRESULT WINAPI StringFromCLSID(REFCLSID id, LPOLESTR*);
 
 HRESULT WINAPI CLSIDFromString16(LPCOLESTR16, CLSID *);
-HRESULT WINAPI CLSIDFromString(LPCOLESTR, CLSID *);
+HRESULT WINAPI CLSIDFromString(LPOLESTR, CLSID *);
 
 HRESULT WINAPI CLSIDFromProgID16(LPCOLESTR16 progid, LPCLSID riid);
 HRESULT WINAPI CLSIDFromProgID(LPCOLESTR progid, LPCLSID riid);
diff --git a/include/ole2.h b/include/ole2.h
index 7e19fef..d920310 100644
--- a/include/ole2.h
+++ b/include/ole2.h
@@ -106,7 +106,7 @@
 BOOL        WINAPI IsAccelerator(HACCEL hAccel, int cAccelEntries, struct tagMSG* lpMsg, WORD* lpwCmd);
 HRESULT     WINAPI OleCreateLinkToFile(LPCOLESTR lpszFileName, REFIID riid, DWORD renderopt, LPFORMATETC lpFormatEtc,
                 LPOLECLIENTSITE pClientSite, LPSTORAGE pStg, LPVOID* ppvObj);
-HRESULT     WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat, UINT uiFlags);
+HANDLE      WINAPI OleDuplicateData(HANDLE hSrc, CLIPFORMAT cfFormat, UINT uiFlags);
 HRESULT     WINAPI WriteFmtUserTypeStg(LPSTORAGE pstg, CLIPFORMAT cf, LPOLESTR lpszUserType);
 HRESULT     WINAPI OleTranslateAccelerator (LPOLEINPLACEFRAME lpFrame, LPOLEINPLACEFRAMEINFO lpFrameInfo, struct tagMSG* lpmsg);
 HRESULT     WINAPI OleCreateFromData(LPDATAOBJECT pSrcDataObj, REFIID riid, DWORD renderopt, LPFORMATETC pFormatEtc,
diff --git a/include/shlwapi.h b/include/shlwapi.h
index b46e9e6..209db2f 100644
--- a/include/shlwapi.h
+++ b/include/shlwapi.h
@@ -500,8 +500,8 @@
 BOOL WINAPI PathIsLFNFileSpecW(LPCWSTR);
 #define PathIsLFNFileSpec WINELIB_NAME_AW(PathIsLFNFileSpec)
 
-int WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR *,int);
-int WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR *,int);
+LPCSTR WINAPI PathFindSuffixArrayA(LPCSTR,LPCSTR *,int);
+LPCWSTR WINAPI PathFindSuffixArrayW(LPCWSTR,LPCWSTR *,int);
 #define PathFindSuffixArray WINELIB_NAME_AW(PathFindSuffixArray)
 
 VOID WINAPI PathUndecorateA(LPSTR);
@@ -603,10 +603,10 @@
 HRESULT WINAPI UrlGetPartW(LPCWSTR,LPWSTR,LPDWORD,DWORD,DWORD);
 #define UrlGetPart WINELIB_NAME_AW(UrlGetPart)
 
-BOOL    WINAPI HashData(const unsigned char *,INT,unsigned char *lpDest,INT);
+HRESULT WINAPI HashData(const unsigned char *,DWORD,unsigned char *lpDest,DWORD);
 
-HRESULT WINAPI UrlHashA(LPCSTR,unsigned char *,INT);
-HRESULT WINAPI UrlHashW(LPCWSTR,unsigned char *,INT);
+HRESULT WINAPI UrlHashA(LPCSTR,unsigned char *,DWORD);
+HRESULT WINAPI UrlHashW(LPCWSTR,unsigned char *,DWORD);
 #define UrlHash WINELIB_NAME_AW(UrlHash)
 
 BOOL    WINAPI UrlIsA(LPCSTR,URLIS);
@@ -625,8 +625,8 @@
 #define UrlIsFileUrlW(y) UrlIsW(x, URLIS_FILEURL)
 #define UrlIsFileUrl WINELIB_NAME_AW(UrlIsFileUrl)
 
-HRESULT WINAPI UrlUnescapeA(LPCSTR,LPSTR,LPDWORD,DWORD);
-HRESULT WINAPI UrlUnescapeW(LPCWSTR,LPWSTR,LPDWORD,DWORD);
+HRESULT WINAPI UrlUnescapeA(LPSTR,LPSTR,LPDWORD,DWORD);
+HRESULT WINAPI UrlUnescapeW(LPWSTR,LPWSTR,LPDWORD,DWORD);
 #define UrlUnescape WINELIB_AW_NAME(UrlUnescape)
 
 #define UrlUnescapeInPlaceA(x,y) UrlUnescapeA(x, NULL, NULL, \
@@ -827,8 +827,8 @@
 HRESULT WINAPI StrRetToStrW(struct _STRRET*,const struct _ITEMIDLIST*,LPWSTR*);
 #define StrRetToStr WINELIB_NAME_AW(StrRetToStr)
 
-HRESULT WINAPI StrRetToBufA(struct _STRRET*,const struct _ITEMIDLIST*,LPSTR,DWORD);
-HRESULT WINAPI StrRetToBufW(struct _STRRET*,const struct _ITEMIDLIST*,LPWSTR,DWORD);
+HRESULT WINAPI StrRetToBufA(struct _STRRET*,const struct _ITEMIDLIST*,LPSTR,UINT);
+HRESULT WINAPI StrRetToBufW(struct _STRRET*,const struct _ITEMIDLIST*,LPWSTR,UINT);
 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
 
 #endif /* NO_SHLWAPI_STRFCNS */