Removed shell.h. Cleaned up the nested includes mess in wine/obj_*.h.
diff --git a/include/dlgs.h b/include/dlgs.h
index 5e16c81..8296eb0 100644
--- a/include/dlgs.h
+++ b/include/dlgs.h
@@ -5,8 +5,6 @@
#ifndef __WINE_DLGS_H
#define __WINE_DLGS_H
-#include "wine/obj_shellview.h"
-
#define ctlFirst 0x0400
#define ctlLast 0x04ff
/* Push buttons */
diff --git a/include/main.h b/include/main.h
index 9957927..4472072 100644
--- a/include/main.h
+++ b/include/main.h
@@ -14,4 +14,6 @@
extern BOOL RELAY_Init(void);
extern int RELAY_ShowDebugmsgRelay(const char *func);
+extern void SHELL_LoadRegistry(void);
+
#endif /* __WINE_MAIN_H */
diff --git a/include/ocidl.h b/include/ocidl.h
index bce3185..a96328c 100644
--- a/include/ocidl.h
+++ b/include/ocidl.h
@@ -1,10 +1,14 @@
#ifndef __WINE_OCIDL_H
#define __WINE_OCIDL_H
+#include "windows.h"
+#include "ole2.h"
#include "wine/obj_base.h"
/* the following depend only on obj_base.h */
+#include "wine/obj_storage.h"
+#include "wine/obj_oleaut.h"
#include "wine/obj_olefont.h"
#include "wine/obj_picture.h"
diff --git a/include/ole2.h b/include/ole2.h
index 49a8a31..607f025 100644
--- a/include/ole2.h
+++ b/include/ole2.h
@@ -7,9 +7,11 @@
#include "windef.h"
#include "winerror.h"
+#include "wine/obj_base.h"
+#include "wine/obj_misc.h"
#include "wine/obj_storage.h"
#include "wine/obj_moniker.h"
-#include "wine/obj_base.h"
+#include "wine/obj_dataobject.h"
#include "wine/obj_dragdrop.h"
#include "wine/obj_inplace.h"
#include "wine/obj_oleobj.h"
diff --git a/include/oleauto.h b/include/oleauto.h
index 44529e7..8b8a4b9 100644
--- a/include/oleauto.h
+++ b/include/oleauto.h
@@ -2,6 +2,7 @@
#define __WINE_OLEAUTO_H
#include "wtypes.h"
+#include "wine/obj_base.h"
#include "wine/obj_oleaut.h"
#include "wine/obj_errorinfo.h"
diff --git a/include/oleidl.h b/include/oleidl.h
index 6abc662..9be7af4 100644
--- a/include/oleidl.h
+++ b/include/oleidl.h
@@ -3,6 +3,7 @@
#include "wine/obj_base.h"
+#include "wine/obj_misc.h"
/* the following depend only on obj_base.h */
#include "wine/obj_storage.h"
diff --git a/include/shell.h b/include/shell.h
deleted file mode 100644
index df5f509..0000000
--- a/include/shell.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Shell Library definitions
- */
-#ifndef __WINE_SHELL_H
-#define __WINE_SHELL_H
-
-#include "windef.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-/****************************************************************************
-* shell 16
-*/
-extern void SHELL_LoadRegistry(void);
-
-/* global functions used from shell32 */
-extern HINSTANCE SHELL_FindExecutable(LPCSTR,LPCSTR ,LPSTR);
-extern HGLOBAL16 WINAPI InternalExtractIcon16(HINSTANCE16,LPCSTR,UINT16,WORD);
-
-/****************************************************************************
-* shell 32
-*/
-/****************************************************************************
-* common return codes
-*/
-#define SHELL_ERROR_SUCCESS 0L
-#define SHELL_ERROR_BADDB 1L
-#define SHELL_ERROR_BADKEY 2L
-#define SHELL_ERROR_CANTOPEN 3L
-#define SHELL_ERROR_CANTREAD 4L
-#define SHELL_ERROR_CANTWRITE 5L
-#define SHELL_ERROR_OUTOFMEMORY 6L
-#define SHELL_ERROR_INVALID_PARAMETER 7L
-#define SHELL_ERROR_ACCESS_DENIED 8L
-
-/****************************************************************************
-* common shell file structures
-*/
-/******************************
-* DRAG&DROP API
-*/
-typedef struct { /* structure for dropped files */
- WORD wSize;
- POINT16 ptMousePos;
- BOOL16 fInNonClientArea;
- /* memory block with filenames follows */
-} DROPFILESTRUCT16, *LPDROPFILESTRUCT16;
-
-typedef struct { /* structure for dropped files */
- DWORD lSize;
- POINT ptMousePos;
- BOOL fInNonClientArea;
- BOOL fWideChar;
- /* memory block with filenames follows */
-} DROPFILESTRUCT, *LPDROPFILESTRUCT;
-
-
-/****************************************************************************
-* SHITEMID, ITEMIDLIST, PIDL API
-*/
-#include "pshpack1.h"
-typedef struct
-{ WORD cb; /* nr of bytes in this item */
- BYTE abID[1];/* first byte in this item */
-} SHITEMID,*LPSHITEMID;
-typedef LPSHITEMID const LPCSHITEMID;
-
-typedef struct
-{ SHITEMID mkid; /* first itemid in list */
-} ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
-#include "poppack.h"
-
-BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
-BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
-#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
-
-/****************************************************************************
-* SHAddToRecentDocs API
-*/
-#define SHARD_PIDL 0x00000001L
-#define SHARD_PATH 0x00000002L
-
-DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
-
-/****************************************************************************
-* other functions
-*/
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* __WINE_SHELL_H */
diff --git a/include/shlobj.h b/include/shlobj.h
index bd0347a..6a93b93 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -1,20 +1,9 @@
#ifndef __WINE_SHLOBJ_H
#define __WINE_SHLOBJ_H
-#include "wine/obj_base.h"
-#include "wine/obj_shelllink.h"
-#include "wine/obj_shellfolder.h"
-#include "wine/obj_shellbrowser.h"
-#include "wine/obj_contextmenu.h"
-#include "wine/obj_shellextinit.h"
-#include "wine/obj_extracticon.h"
-#include "wine/obj_commdlgbrowser.h"
-#include "wine/obj_dockingwindowframe.h"
-
#include "windef.h"
#include "winbase.h" /* WIN32_FIND_* */
#include "ole2.h"
-#include "shell.h"
#include "commctrl.h"
#include "prsht.h"
@@ -22,6 +11,42 @@
extern "C" {
#endif /* defined(__cplusplus) */
+/****************************************************************************
+* SHITEMID, ITEMIDLIST, PIDL API
+*/
+#include "pshpack1.h"
+typedef struct
+{
+ WORD cb; /* nr of bytes in this item */
+ BYTE abID[1]; /* first byte in this item */
+} SHITEMID, *LPSHITEMID;
+typedef LPSHITEMID const LPCSHITEMID;
+
+typedef struct _ITEMIDLIST
+{
+ SHITEMID mkid; /* first itemid in list */
+} ITEMIDLIST,*LPITEMIDLIST,*LPCITEMIDLIST;
+#include "poppack.h"
+
+BOOL WINAPI SHGetPathFromIDListA (LPCITEMIDLIST pidl,LPSTR pszPath);
+BOOL WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
+#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
+
+
+#include "wine/obj_base.h"
+#include "wine/obj_enumidlist.h"
+#include "wine/obj_inplace.h"
+#include "wine/obj_oleaut.h"
+#include "wine/obj_shellfolder.h"
+#include "wine/obj_shellview.h"
+#include "wine/obj_shelllink.h"
+#include "wine/obj_shellbrowser.h"
+#include "wine/obj_contextmenu.h"
+#include "wine/obj_shellextinit.h"
+#include "wine/obj_extracticon.h"
+#include "wine/obj_commdlgbrowser.h"
+#include "wine/obj_dockingwindowframe.h"
+
/*****************************************************************************
* Predeclare interfaces
*/
@@ -96,6 +121,16 @@
#define IShellIcon_GetIconOf(p,a,b,c) ICOM_CALL3(GetIconOf,p,a,b,c)
/****************************************************************************
+* SHAddToRecentDocs API
+*/
+#define SHARD_PIDL 0x00000001L
+#define SHARD_PATHA 0x00000002L
+#define SHARD_PATHW 0x00000003L
+#define SHARD_PATH WINELIB_NAME_AW(SHARD_PATH)
+
+DWORD WINAPI SHAddToRecentDocs(UINT uFlags, LPCVOID pv);
+
+/****************************************************************************
* Shell Execute API
*/
#define SE_ERR_FNF 2 /* file not found */
diff --git a/include/shlwapi.h b/include/shlwapi.h
index 1f4f5df..6d41ebb 100644
--- a/include/shlwapi.h
+++ b/include/shlwapi.h
@@ -1,9 +1,7 @@
#ifndef __WINE_SHLWAPI_H
#define __WINE_SHLWAPI_H
-#include "windef.h"
-#include "wine/obj_queryassociations.h"
-#include "wine/obj_shellfolder.h"
+#include "objbase.h"
#ifdef __cplusplus
extern "C" {
@@ -113,10 +111,10 @@
LPWSTR WINAPI StrDupW(LPCWSTR lpSrc);
#define StrDup WINELIB_NAME_AW(StrDup)
-HRESULT WINAPI StrRetToBufA(LPSTRRET src, LPITEMIDLIST pidl, LPSTR dest,
- DWORD len);
-HRESULT WINAPI StrRetToBufW(LPSTRRET src, LPITEMIDLIST pidl, LPWSTR dest,
- DWORD len);
+struct _STRRET;
+struct _ITEMIDLIST;
+HRESULT WINAPI StrRetToBufA(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPSTR dest, DWORD len);
+HRESULT WINAPI StrRetToBufW(struct _STRRET *src, const struct _ITEMIDLIST *pidl, LPWSTR dest, DWORD len);
#define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
void WINAPI PathRemoveBlanksA(LPSTR lpszPath);
diff --git a/include/windows.h b/include/windows.h
index 5196ef2..d623ed1 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -9,7 +9,6 @@
#include "winbase.h"
#include "wingdi.h"
#include "winuser.h"
-#include "shell.h"
#include "winreg.h"
#include "winnetwk.h"
#include "winver.h"
diff --git a/include/wine/obj_cache.h b/include/wine/obj_cache.h
index d47f845..8c5f664 100644
--- a/include/wine/obj_cache.h
+++ b/include/wine/obj_cache.h
@@ -7,11 +7,6 @@
#ifndef __WINE_WINE_OBJ_CACHE_H
#define __WINE_WINE_OBJ_CACHE_H
-
-#include "wine/obj_storage.h"
-#include "wine/obj_moniker.h"
-#include "wine/obj_dataobject.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_channel.h b/include/wine/obj_channel.h
index 20d6a91..843f53e 100644
--- a/include/wine/obj_channel.h
+++ b/include/wine/obj_channel.h
@@ -5,8 +5,6 @@
#ifndef __WINE_WINE_OBJ_CHANNEL_H
#define __WINE_WINE_OBJ_CHANNEL_H
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_clientserver.h b/include/wine/obj_clientserver.h
index 5add397..76c6958 100644
--- a/include/wine/obj_clientserver.h
+++ b/include/wine/obj_clientserver.h
@@ -5,8 +5,6 @@
#ifndef __WINE_WINE_OBJ_CLIENTSERVER_H
#define __WINE_WINE_OBJ_CLIENTSERVER_H
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_commdlgbrowser.h b/include/wine/obj_commdlgbrowser.h
index e585de1..ac3cec1 100644
--- a/include/wine/obj_commdlgbrowser.h
+++ b/include/wine/obj_commdlgbrowser.h
@@ -5,12 +5,6 @@
#ifndef __WINE_WINE_OBJ_COMMDLGBROWSER_H
#define __WINE_WINE_OBJ_COMMDLGBROWSER_H
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-#include "wine/obj_shellview.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_connection.h b/include/wine/obj_connection.h
index 0f8efcc..910aae6 100644
--- a/include/wine/obj_connection.h
+++ b/include/wine/obj_connection.h
@@ -7,9 +7,6 @@
#ifndef __WINE_WINE_OBJ_CONNECTION_H
#define __WINE_WINE_OBJ_CONNECTION_H
-#include "wine/obj_base.h"
-#include "winbase.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_contextmenu.h b/include/wine/obj_contextmenu.h
index 322067e..542ebb7 100644
--- a/include/wine/obj_contextmenu.h
+++ b/include/wine/obj_contextmenu.h
@@ -9,11 +9,6 @@
#ifndef __WINE_WINE_OBJ_CONTEXTMENU_H
#define __WINE_WINE_OBJ_CONTEXTMENU_H
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_control.h b/include/wine/obj_control.h
index 62e0540..d3c38cf 100644
--- a/include/wine/obj_control.h
+++ b/include/wine/obj_control.h
@@ -7,13 +7,6 @@
#ifndef __WINE_WINE_OBJ_CONTROL_H
#define __WINE_WINE_OBJ_CONTROL_H
-
-#include "winbase.h"
-#include "wine/obj_oleaut.h" /* for DISPID */
-#include "wine/obj_oleview.h"
-#include "wine/obj_inplace.h"
-#include "wine/obj_dragdrop.h"
-
struct tagMSG;
#ifdef __cplusplus
diff --git a/include/wine/obj_dataobject.h b/include/wine/obj_dataobject.h
index 67fc0b6..bfddfbd 100644
--- a/include/wine/obj_dataobject.h
+++ b/include/wine/obj_dataobject.h
@@ -6,10 +6,6 @@
#ifndef __WINE_WINE_OBJ_DATAOBJECT_H
#define __WINE_WINE_OBJ_DATAOBJECT_H
-#include "wine/obj_base.h"
-#include "wine/obj_moniker.h"
-#include "wine/obj_storage.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_dockingwindowframe.h b/include/wine/obj_dockingwindowframe.h
index c1576be..da94b8d 100644
--- a/include/wine/obj_dockingwindowframe.h
+++ b/include/wine/obj_dockingwindowframe.h
@@ -5,12 +5,6 @@
#ifndef __WINE_WINE_OBJ_DOCKINGWINDOWFRAME_H
#define __WINE_WINE_OBJ_DOCKINGWINDOWFRAME_H
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-#include "wine/obj_inplace.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_dragdrop.h b/include/wine/obj_dragdrop.h
index b92915e..3410be5 100644
--- a/include/wine/obj_dragdrop.h
+++ b/include/wine/obj_dragdrop.h
@@ -5,11 +5,6 @@
#ifndef __WINE_WINE_OBJ_DRAGDROP_H
#define __WINE_WINE_OBJ_DRAGDROP_H
-#include "winnt.h"
-#include "windef.h"
-#include "wine/obj_base.h"
-#include "wine/obj_dataobject.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_enumidlist.h b/include/wine/obj_enumidlist.h
index ac96bdb..d27da2c 100644
--- a/include/wine/obj_enumidlist.h
+++ b/include/wine/obj_enumidlist.h
@@ -7,10 +7,6 @@
#ifndef __WINE_WINE_OBJ_ENUMIDLIST_H
#define __WINE_WINE_OBJ_ENUMIDLIST_H
-#include "wine/obj_base.h"
-#include "shell.h"
-#include "winbase.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_errorinfo.h b/include/wine/obj_errorinfo.h
index b615281..2e3e816 100644
--- a/include/wine/obj_errorinfo.h
+++ b/include/wine/obj_errorinfo.h
@@ -5,9 +5,6 @@
#ifndef __WINE_WINE_OBJ_ERRORINFO_H
#define __WINE_WINE_OBJ_ERRORINFO_H
-#include "wine/obj_base.h"
-#include "wine/obj_oleaut.h"
-
DEFINE_GUID(IID_IErrorInfo,0x1CF2B120,0x547D,0x101B,0x8E,0x65,0x08,0x00,0x2B,0x2B,0xD1,0x19);
typedef struct IErrorInfo IErrorInfo,*LPERRORINFO;
diff --git a/include/wine/obj_extracticon.h b/include/wine/obj_extracticon.h
index 0a2145f..f8e96a9 100644
--- a/include/wine/obj_extracticon.h
+++ b/include/wine/obj_extracticon.h
@@ -5,12 +5,6 @@
#ifndef __WINE_WINE_OBJ_EXTRACTICON_H
#define __WINE_WINE_OBJ_EXTRACTICON_H
-#include "winbase.h"
-#include "windef.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_inplace.h b/include/wine/obj_inplace.h
index f667026..146e24d 100644
--- a/include/wine/obj_inplace.h
+++ b/include/wine/obj_inplace.h
@@ -7,9 +7,7 @@
#ifndef __WINE_WINE_OBJ_INPLACE_H
#define __WINE_WINE_OBJ_INPLACE_H
-
struct tagMSG;
-#include "wine/obj_moniker.h"
#ifdef __cplusplus
extern "C" {
diff --git a/include/wine/obj_marshal.h b/include/wine/obj_marshal.h
index e77ce38..e365618 100644
--- a/include/wine/obj_marshal.h
+++ b/include/wine/obj_marshal.h
@@ -6,9 +6,6 @@
#ifndef __WINE_WINE_OBJ_MARSHAL_H
#define __WINE_WINE_OBJ_MARSHAL_H
-#include "wine/obj_base.h"
-#include "wine/obj_storage.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_misc.h b/include/wine/obj_misc.h
index 9dae7ba..8e04e0a 100644
--- a/include/wine/obj_misc.h
+++ b/include/wine/obj_misc.h
@@ -8,8 +8,6 @@
#ifndef __WINE_WINE_OBJ_MISC_H
#define __WINE_WINE_OBJ_MISC_H
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_moniker.h b/include/wine/obj_moniker.h
index 114217e..83d5b1b 100644
--- a/include/wine/obj_moniker.h
+++ b/include/wine/obj_moniker.h
@@ -4,10 +4,6 @@
#ifndef __WINE_WINE_OBJ_MONIKER_H
#define __WINE_WINE_OBJ_MONIKER_H
-#include "wine/obj_base.h"
-#include "wine/obj_storage.h"
-#include "wine/obj_misc.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_oleaut.h b/include/wine/obj_oleaut.h
index e38c677..0d33dc8 100644
--- a/include/wine/obj_oleaut.h
+++ b/include/wine/obj_oleaut.h
@@ -5,8 +5,6 @@
#ifndef __WINE_WINE_OBJ_OLEAUT_H
#define __WINE_WINE_OBJ_OLEAUT_H
-#include "wine/obj_base.h"
-
/*****************************************************************************
* Predeclare the interfaces
*/
diff --git a/include/wine/obj_olefont.h b/include/wine/obj_olefont.h
index e39759c..c0edcf4 100644
--- a/include/wine/obj_olefont.h
+++ b/include/wine/obj_olefont.h
@@ -7,10 +7,6 @@
#ifndef __WINE_WINE_OBJ_OLEFONT_H
#define __WINE_WINE_OBJ_OLEFONT_H
-#include "wine/obj_oleaut.h"
-#include "wine/obj_base.h"
-#include "wingdi.h" /* TEXTMETRIC*/
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_oleobj.h b/include/wine/obj_oleobj.h
index dcda1ba..6fb6a2f 100644
--- a/include/wine/obj_oleobj.h
+++ b/include/wine/obj_oleobj.h
@@ -7,11 +7,6 @@
#ifndef __WINE_WINE_OBJ_OLEOBJ_H
#define __WINE_WINE_OBJ_OLEOBJ_H
-
-#include "wine/obj_moniker.h"
-#include "wine/obj_inplace.h"
-#include "wine/obj_dataobject.h"
-
struct tagMSG;
struct tagLOGPALETTE;
diff --git a/include/wine/obj_oleundo.h b/include/wine/obj_oleundo.h
index 5f676c6..b52fbe2 100644
--- a/include/wine/obj_oleundo.h
+++ b/include/wine/obj_oleundo.h
@@ -7,13 +7,6 @@
#ifndef __WINE_WINE_OBJ_OLEUNDO_H
#define __WINE_WINE_OBJ_OLEUNDO_H
-#include "wine/obj_base.h"
-#include "wine/obj_dataobject.h"
-#include "wine/obj_inplace.h"
-#include "wine/obj_olefont.h"
-#include "wine/obj_property.h"
-#include "winbase.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_oleview.h b/include/wine/obj_oleview.h
index d3a24fd..b7ff2fe 100644
--- a/include/wine/obj_oleview.h
+++ b/include/wine/obj_oleview.h
@@ -6,10 +6,6 @@
#ifndef __WINE_WINE_OBJ_OLEVIEW_H
#define __WINE_WINE_OBJ_OLEVIEW_H
-
-#include "wine/obj_base.h"
-#include "wine/obj_dataobject.h"
-
struct tagLOGPALETTE;
#ifdef __cplusplus
diff --git a/include/wine/obj_picture.h b/include/wine/obj_picture.h
index c39d949..2e2d55c 100644
--- a/include/wine/obj_picture.h
+++ b/include/wine/obj_picture.h
@@ -7,11 +7,6 @@
#ifndef __WINE_WINE_OBJ_PICTURE_H
#define __WINE_WINE_OBJ_PICTURE_H
-#include "wine/obj_base.h"
-#include "wine/obj_oleaut.h"
-#include "windows.h"
-#include "windef.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_property.h b/include/wine/obj_property.h
index 2aed400..8ab92ab 100644
--- a/include/wine/obj_property.h
+++ b/include/wine/obj_property.h
@@ -7,12 +7,6 @@
#ifndef __WINE_WINE_OBJ_PROPERTY_H
#define __WINE_WINE_OBJ_PROPERTY_H
-#include "wine/obj_oleaut.h" /* for DISPID */
-#include "wine/obj_storage.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_propertystorage.h b/include/wine/obj_propertystorage.h
index 9b4c3fe..5236ff9 100644
--- a/include/wine/obj_propertystorage.h
+++ b/include/wine/obj_propertystorage.h
@@ -5,9 +5,6 @@
#ifndef __WINE_WINE_OBJ_PROPERTYSTORAGE_H
#define __WINE_WINE_OBJ_PROPERTYSTORAGE_H
-#include "wine/obj_base.h"
-#include "wine/obj_storage.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_queryassociations.h b/include/wine/obj_queryassociations.h
index 72302cf..257d9f2 100644
--- a/include/wine/obj_queryassociations.h
+++ b/include/wine/obj_queryassociations.h
@@ -5,9 +5,6 @@
#ifndef __WINE_WINE_OBJ_QUERYASSOCIATIONS_H
#define __WINE_WINE_OBJ_QUERYASSOCIATIONS_H
-#include "winbase.h"
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_shellbrowser.h b/include/wine/obj_shellbrowser.h
index cf85b91..3387e1b 100644
--- a/include/wine/obj_shellbrowser.h
+++ b/include/wine/obj_shellbrowser.h
@@ -5,15 +5,6 @@
#ifndef __WINE_WINE_OBJ_SHELLBROWSER_H
#define __WINE_WINE_OBJ_SHELLBROWSER_H
-#include "winbase.h"
-#include "windef.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-#include "wine/obj_inplace.h" /* IOleWindow */
-#include "wine/obj_shellview.h" /* IShellView */
-#include "commctrl.h" /* TBBUTTON */
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_shellextinit.h b/include/wine/obj_shellextinit.h
index 3febd83..3bac3a1 100644
--- a/include/wine/obj_shellextinit.h
+++ b/include/wine/obj_shellextinit.h
@@ -5,13 +5,6 @@
#ifndef __WINE_WINE_OBJ_SHELLEXTINIT_H
#define __WINE_WINE_OBJ_SHELLEXTINIT_H
-#include "shell.h"
-#include "winbase.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-#include "wine/obj_dataobject.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_shellfolder.h b/include/wine/obj_shellfolder.h
index 325434c..0a25403 100644
--- a/include/wine/obj_shellfolder.h
+++ b/include/wine/obj_shellfolder.h
@@ -7,13 +7,6 @@
#ifndef __WINE_WINE_OBJ_SHELLFOLDER_H
#define __WINE_WINE_OBJ_SHELLFOLDER_H
-#include "wine/obj_base.h"
-#include "wine/obj_moniker.h" /* for LPBC */
-#include "wine/obj_enumidlist.h"
-#include "wine/obj_oleaut.h"
-#include "winbase.h"
-#include "shell.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_shelllink.h b/include/wine/obj_shelllink.h
index 00c9716..79bf29f 100644
--- a/include/wine/obj_shelllink.h
+++ b/include/wine/obj_shelllink.h
@@ -7,10 +7,6 @@
#ifndef __WINE_WINE_OBJ_SHELLLINK_H
#define __WINE_WINE_OBJ_SHELLLINK_H
-#include "wine/obj_base.h"
-#include "winbase.h"
-#include "shell.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_shellview.h b/include/wine/obj_shellview.h
index de90ba3..5786bcc 100644
--- a/include/wine/obj_shellview.h
+++ b/include/wine/obj_shellview.h
@@ -5,15 +5,6 @@
#ifndef __WINE_WINE_OBJ_SHELLVIEW_H
#define __WINE_WINE_OBJ_SHELLVIEW_H
-#include "winbase.h"
-#include "windef.h"
-#include "wingdi.h"
-#include "winuser.h"
-#include "wine/obj_base.h"
-#include "wine/obj_inplace.h"
-#include "wine/obj_shellfolder.h"
-#include "prsht.h" /* LPFNADDPROPSHEETPAGE */
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/obj_storage.h b/include/wine/obj_storage.h
index 0ea49d9..96b7e18 100644
--- a/include/wine/obj_storage.h
+++ b/include/wine/obj_storage.h
@@ -5,10 +5,6 @@
#ifndef __WINE_WINE_OBJ_STORAGE_H
#define __WINE_WINE_OBJ_STORAGE_H
-
-#include "winnt.h"
-#include "wine/obj_base.h"
-
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
diff --git a/include/wine/undocshell.h b/include/wine/undocshell.h
index 5c07b4d..ca9a8f2 100644
--- a/include/wine/undocshell.h
+++ b/include/wine/undocshell.h
@@ -3,9 +3,7 @@
#include "windef.h"
#include "commctrl.h"
-#include "wine/obj_shellfolder.h"
-#include "wine/obj_shellview.h"
-#include "wine/obj_dragdrop.h"
+#include "shlobj.h"
#ifdef __cplusplus
extern "C" {
@@ -98,19 +96,19 @@
LPVOID dest,
DWORD len,
LPSTRRET src,
- LPITEMIDLIST pidl);
+ const ITEMIDLIST *pidl);
HRESULT WINAPI StrRetToStrNW (
LPVOID dest,
DWORD len,
LPSTRRET src,
- LPITEMIDLIST pidl);
+ const ITEMIDLIST *pidl);
HRESULT WINAPI StrRetToStrNAW (
LPVOID dest,
DWORD len,
LPSTRRET src,
- LPITEMIDLIST pidl);
+ const ITEMIDLIST *pidl);
/****************************************************************************