Add exclusion defs & remaining funcs, remove internal types &
obj_base.h (sync with win version), fixed a number of function
prototypes.
diff --git a/dlls/comctl32/commctrl.c b/dlls/comctl32/commctrl.c
index 68b546e..12dc25f 100644
--- a/dlls/comctl32/commctrl.c
+++ b/dlls/comctl32/commctrl.c
@@ -7,12 +7,14 @@
*/
#include <string.h>
+#include <stdlib.h>
#include "winbase.h"
#include "heap.h"
#include "commctrl.h"
#include "winerror.h"
#include "winreg.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "comctl32.h"
#include "debugtools.h"
diff --git a/dlls/commdlg/filedlgbrowser.c b/dlls/commdlg/filedlgbrowser.c
index 9219578..c5d071e 100644
--- a/dlls/commdlg/filedlgbrowser.c
+++ b/dlls/commdlg/filedlgbrowser.c
@@ -14,6 +14,7 @@
#include "winuser.h"
#include "winreg.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "filedlgbrowser.h"
#include "cdlg.h"
diff --git a/dlls/richedit/richedit.c b/dlls/richedit/richedit.c
index 29a4472..166c73f 100644
--- a/dlls/richedit/richedit.c
+++ b/dlls/richedit/richedit.c
@@ -18,6 +18,7 @@
#include "riched32.h"
#include "richedit.h"
#include "charlist.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "rtf.h"
diff --git a/dlls/shell32/clipboard.c b/dlls/shell32/clipboard.c
index c4f5e8a..d58f12a 100644
--- a/dlls/shell32/clipboard.c
+++ b/dlls/shell32/clipboard.c
@@ -22,10 +22,10 @@
#include <string.h>
#include "winreg.h"
-#include "shlwapi.h"
#include "pidl.h"
#include "undocshell.h"
#include "shell32_main.h"
+#include "shlwapi.h"
#include "debugtools.h"
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index 56ce38b..639aaa3 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -13,13 +13,14 @@
#include "winnls.h"
#include "heap.h"
-#include "shlwapi.h"
+#include "wine/obj_base.h"
#include "shellapi.h"
#include "shlguid.h"
#include "shlobj.h"
#include "shell32_main.h"
#include "undocshell.h"
#include "pidl.h"
+#include "shlwapi.h"
DEFAULT_DEBUG_CHANNEL(shell);
DECLARE_DEBUG_CHANNEL(pidl);
diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index 37a9117..ea94e33 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -485,8 +485,8 @@
BOOL WINAPI PathFindOnPathAW(LPVOID sFile, LPCVOID sOtherDirs)
{
if (SHELL_OsIsUnicode())
- return PathFindOnPathW(sFile, sOtherDirs);
- return PathFindOnPathA(sFile, sOtherDirs);
+ return PathFindOnPathW(sFile, (LPCWSTR *)sOtherDirs);
+ return PathFindOnPathA(sFile, (LPCSTR *)sOtherDirs);
}
/*************************************************************************
diff --git a/dlls/shell32/undocshell.h b/dlls/shell32/undocshell.h
index 31d80fa..d63fbe2 100644
--- a/dlls/shell32/undocshell.h
+++ b/dlls/shell32/undocshell.h
@@ -584,10 +584,6 @@
LPCSTR lpszShortName,
LPCSTR lpszLongName);
-BOOL WINAPI PathFindOnPathAW(
- LPVOID lpszFile,
- LPCVOID alpszPaths);
-
/* PathCleanupSpec return values */
#define PCS_REPLACEDCHARS 0x00000001
#define PCS_REMOVEDCHARS 0x00000002
diff --git a/dlls/shlwapi/ordinal.c b/dlls/shlwapi/ordinal.c
index 971c27a..2437099 100644
--- a/dlls/shlwapi/ordinal.c
+++ b/dlls/shlwapi/ordinal.c
@@ -44,6 +44,30 @@
/* The following schemes were identified in the native version of
* SHLWAPI.DLL version 5.50
*/
+typedef enum {
+ URL_SCHEME_INVALID = -1,
+ URL_SCHEME_UNKNOWN = 0,
+ URL_SCHEME_FTP,
+ URL_SCHEME_HTTP,
+ URL_SCHEME_GOPHER,
+ URL_SCHEME_MAILTO,
+ URL_SCHEME_NEWS,
+ URL_SCHEME_NNTP,
+ URL_SCHEME_TELNET,
+ URL_SCHEME_WAIS,
+ URL_SCHEME_FILE,
+ URL_SCHEME_MK,
+ URL_SCHEME_HTTPS,
+ URL_SCHEME_SHELL,
+ URL_SCHEME_SNEWS,
+ URL_SCHEME_LOCAL,
+ URL_SCHEME_JAVASCRIPT,
+ URL_SCHEME_VBSCRIPT,
+ URL_SCHEME_ABOUT,
+ URL_SCHEME_RES,
+ URL_SCHEME_MAXVALUE
+} URL_SCHEME;
+
typedef struct {
URL_SCHEME scheme_number;
LPCSTR scheme_name;
diff --git a/dlls/shlwapi/ordinal.h b/dlls/shlwapi/ordinal.h
index b8f4a8d..037ff82 100644
--- a/dlls/shlwapi/ordinal.h
+++ b/dlls/shlwapi/ordinal.h
@@ -1,5 +1,5 @@
/*
- * Internal structures (read "undocumented") used by the
+ * Internal structures (read "undocumented") used by the
* ordinal entry points.
*
* Determined by experimentation.
@@ -11,7 +11,7 @@
INT sizep1; /* [out] size of scheme (until colon) */
LPCSTR ap2; /* [out] pointer following first colon */
INT sizep2; /* [out] size of remainder */
- INT fcncde; /* [out] function match of p1 (0 if unknown) */
+ INT fcncde; /* [out] function match of p1 (0 if unknown) */
} UNKNOWN_SHLWAPI_1;
DWORD WINAPI SHLWAPI_1(LPCSTR x, UNKNOWN_SHLWAPI_1 *y);
@@ -22,7 +22,8 @@
INT sizep1; /* [out] size of scheme (until colon) */
LPCWSTR ap2; /* [out] pointer following first colon */
INT sizep2; /* [out] size of remainder */
- INT fcncde; /* [out] function match of p1 (0 if unknown) */
+ INT fcncde; /* [out] function match of p1 (0 if unknown) */
} UNKNOWN_SHLWAPI_2;
DWORD WINAPI SHLWAPI_2(LPCWSTR x, UNKNOWN_SHLWAPI_2 *y);
+
diff --git a/dlls/shlwapi/path.c b/dlls/shlwapi/path.c
index 20ed42b..3f1ab64 100644
--- a/dlls/shlwapi/path.c
+++ b/dlls/shlwapi/path.c
@@ -4,6 +4,7 @@
#include <ctype.h>
#include <string.h>
+#include <stdlib.h>
#include "winerror.h"
#include "wine/unicode.h"
@@ -11,6 +12,7 @@
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "debugtools.h"
#include "ordinal.h"
@@ -775,18 +777,18 @@
/*************************************************************************
* PathFindOnPathA [SHLWAPI.@]
*/
-BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR sOtherDirs)
+BOOL WINAPI PathFindOnPathA(LPSTR sFile, LPCSTR *sOtherDirs)
{
- FIXME("%s %s\n",sFile, sOtherDirs);
+ FIXME("%s %p\n",sFile, sOtherDirs);
return FALSE;
}
/*************************************************************************
* PathFindOnPathW [SHLWAPI.@]
*/
-BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR sOtherDirs)
+BOOL WINAPI PathFindOnPathW(LPWSTR sFile, LPCWSTR *sOtherDirs)
{
- FIXME("%s %s\n",debugstr_w(sFile), debugstr_w(sOtherDirs));
+ FIXME("%s %p\n",debugstr_w(sFile), sOtherDirs);
return FALSE;
}
diff --git a/dlls/shlwapi/reg.c b/dlls/shlwapi/reg.c
index f66c72b..25cd75d 100644
--- a/dlls/shlwapi/reg.c
+++ b/dlls/shlwapi/reg.c
@@ -11,6 +11,7 @@
#include "winnls.h"
#include "winreg.h"
#include "debugtools.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "wine/unicode.h"
@@ -483,7 +484,7 @@
/*************************************************************************
* SHRegQueryInfoUSKeyA [SHLWAPI.@]
*/
-DWORD WINAPI SHRegQueryInfoUSKeyA(
+LONG WINAPI SHRegQueryInfoUSKeyA(
HUSKEY hUSKey, /* [in] */
LPDWORD pcSubKeys,
LPDWORD pcchMaxSubKeyLen,
@@ -522,7 +523,7 @@
/*************************************************************************
* SHRegQueryInfoUSKeyW [SHLWAPI.@]
*/
-DWORD WINAPI SHRegQueryInfoUSKeyW(
+LONG WINAPI SHRegQueryInfoUSKeyW(
HUSKEY hUSKey, /* [in] */
LPDWORD pcSubKeys,
LPDWORD pcchMaxSubKeyLen,
@@ -727,7 +728,7 @@
/*************************************************************************
* SHSetValueA [SHLWAPI.@]
*/
-HRESULT WINAPI SHSetValueA(
+DWORD WINAPI SHSetValueA(
HKEY hkey,
LPCSTR pszSubKey,
LPCSTR pszValue,
@@ -749,7 +750,7 @@
/*************************************************************************
* SHSetValueW [SHLWAPI.@]
*/
-HRESULT WINAPI SHSetValueW(
+DWORD WINAPI SHSetValueW(
HKEY hkey,
LPCWSTR pszSubKey,
LPCWSTR pszValue,
@@ -772,9 +773,9 @@
* SHQueryValueExA [SHLWAPI.@]
*
*/
-HRESULT WINAPI SHQueryValueExA(
+DWORD WINAPI SHQueryValueExA(
HKEY hkey,
- LPSTR lpValueName,
+ LPCSTR lpValueName,
LPDWORD lpReserved,
LPDWORD lpType,
LPBYTE lpData,
@@ -792,9 +793,9 @@
* if the datatype REG_EXPAND_SZ then expand the string and change
* *pdwType to REG_SZ.
*/
-HRESULT WINAPI SHQueryValueExW (
+DWORD WINAPI SHQueryValueExW (
HKEY hkey,
- LPWSTR pszValue,
+ LPCWSTR pszValue,
LPDWORD pdwReserved,
LPDWORD pdwType,
LPVOID pvData,
@@ -814,7 +815,7 @@
* According to docs, Win9x RegDeleteKeyA will delete all subkeys, whereas
* WinNt/2k will only delete the key if empty.
*/
-HRESULT WINAPI SHDeleteKeyA(
+DWORD WINAPI SHDeleteKeyA(
HKEY hKey,
LPCSTR lpszSubKey)
{
@@ -880,7 +881,7 @@
* According to docs, Win9x RegDeleteKeyA will delete all subkeys, whereas
* WinNt/2k will only delete the key if empty.
*/
-HRESULT WINAPI SHDeleteKeyW(
+DWORD WINAPI SHDeleteKeyW(
HKEY hkey,
LPCWSTR pszSubKey)
{
@@ -893,9 +894,9 @@
*
* Function opens the key, get/set/delete the value, then close the key.
*/
-HRESULT WINAPI SHDeleteValueA(HKEY hkey, LPCSTR pszSubKey, LPCSTR pszValue) {
+DWORD WINAPI SHDeleteValueA(HKEY hkey, LPCSTR pszSubKey, LPCSTR pszValue) {
HKEY subkey;
- HRESULT hres;
+ DWORD hres;
hres = RegOpenKeyA(hkey,pszSubKey,&subkey);
if (hres)
@@ -910,9 +911,9 @@
*
* Function opens the key, get/set/delete the value, then close the key.
*/
-HRESULT WINAPI SHDeleteValueW(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue) {
+DWORD WINAPI SHDeleteValueW(HKEY hkey, LPCWSTR pszSubKey, LPCWSTR pszValue) {
HKEY subkey;
- HRESULT hres;
+ DWORD hres;
hres = RegOpenKeyW(hkey,pszSubKey,&subkey);
if (hres)
diff --git a/dlls/shlwapi/shlwapi_main.c b/dlls/shlwapi/shlwapi_main.c
index 9388baf..6408fd5 100644
--- a/dlls/shlwapi/shlwapi_main.c
+++ b/dlls/shlwapi/shlwapi_main.c
@@ -9,6 +9,7 @@
#include "winerror.h"
#include "winreg.h"
#include "debugtools.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
DEFAULT_DEBUG_CHANNEL(shell);
diff --git a/dlls/shlwapi/string.c b/dlls/shlwapi/string.c
index e05f247..4fc9589 100644
--- a/dlls/shlwapi/string.c
+++ b/dlls/shlwapi/string.c
@@ -9,6 +9,7 @@
#include "wingdi.h"
#include "winuser.h"
#include "winreg.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "shlobj.h"
#include "wine/unicode.h"
diff --git a/dlls/shlwapi/url.c b/dlls/shlwapi/url.c
index 9bbfddc..ee8d36f 100644
--- a/dlls/shlwapi/url.c
+++ b/dlls/shlwapi/url.c
@@ -5,6 +5,7 @@
*/
#include <string.h>
+#include <stdlib.h>
#include "windef.h"
#include "winnls.h"
#include "winbase.h"
@@ -12,6 +13,7 @@
#include "wine/unicode.h"
#include "wininet.h"
#include "winreg.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "debugtools.h"
#include "ordinal.h"
diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c
index 56235b8..aa06ff3 100644
--- a/dlls/wininet/http.c
+++ b/dlls/wininet/http.c
@@ -25,6 +25,7 @@
#include "wininet.h"
#include "winreg.h"
#include "winerror.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "internet.h"
diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c
index 91845fe..9b92382 100644
--- a/dlls/wininet/internet.c
+++ b/dlls/wininet/internet.c
@@ -25,6 +25,7 @@
#include "wininet.h"
#include "debugtools.h"
#include "winerror.h"
+#define NO_SHLWAPI_STREAM
#include "shlwapi.h"
#include "internet.h"