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/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