Moved stuff to the right place.
diff --git a/dlls/shell32/brsfolder.c b/dlls/shell32/brsfolder.c
index 40f8db5..ebc2441 100644
--- a/dlls/shell32/brsfolder.c
+++ b/dlls/shell32/brsfolder.c
@@ -19,9 +19,9 @@
#include "wine/obj_enumidlist.h"
#include "wine/obj_shellfolder.h"
-#include "shell.h"
#include "pidl.h"
#include "shell32_main.h"
+#include "shellapi.h"
DEFAULT_DEBUG_CHANNEL(shell)
diff --git a/dlls/shell32/iconcache.c b/dlls/shell32/iconcache.c
index b7118e6..b011972 100644
--- a/dlls/shell32/iconcache.c
+++ b/dlls/shell32/iconcache.c
@@ -12,7 +12,9 @@
#include "debug.h"
#include "sysmetrics.h"
#include "winversion.h"
-#include "shell.h"
+
+
+#include "shellapi.h"
#include "shlobj.h"
#include "pidl.h"
#include "shell32_main.h"
diff --git a/dlls/shell32/regstream.c b/dlls/shell32/regstream.c
index 5e3050c..67aeb8a 100644
--- a/dlls/shell32/regstream.c
+++ b/dlls/shell32/regstream.c
@@ -10,8 +10,6 @@
#include "winerror.h"
#include "winreg.h"
-#include "shell.h"
-#include "pidl.h"
#include "shell32_main.h"
DEFAULT_DEBUG_CHANNEL(shell)
diff --git a/dlls/shell32/shell32_main.c b/dlls/shell32/shell32_main.c
index ed37acb..6bb5b92 100644
--- a/dlls/shell32/shell32_main.c
+++ b/dlls/shell32/shell32_main.c
@@ -19,7 +19,6 @@
#include "authors.h"
#include "winversion.h"
-#include "shell.h"
#include "shellapi.h"
#include "pidl.h"
#include "shlobj.h"
@@ -34,44 +33,45 @@
* CommandLineToArgvW [SHELL32.7]
*/
LPWSTR* WINAPI CommandLineToArgvW(LPWSTR cmdline,LPDWORD numargs)
-{ LPWSTR *argv,s,t;
+{ LPWSTR *argv,s,t;
int i;
- TRACE(shell,"\n");
+ TRACE(shell,"\n");
- /* to get writeable copy */
+ /* to get writeable copy */
cmdline = HEAP_strdupW( GetProcessHeap(), 0, cmdline);
s=cmdline;i=0;
- while (*s)
- { /* space */
- if (*s==0x0020)
- { i++;
- s++;
- while (*s && *s==0x0020)
- s++;
- continue;
- }
- s++;
+ while (*s)
+ { /* space */
+ if (*s==0x0020)
+ { i++;
+ s++;
+ while (*s && *s==0x0020)
+ s++;
+ continue;
+ }
+ s++;
}
argv=(LPWSTR*)HeapAlloc( GetProcessHeap(), 0, sizeof(LPWSTR)*(i+1) );
s=t=cmdline;
i=0;
- while (*s)
- { if (*s==0x0020)
- { *s=0;
- argv[i++]=HEAP_strdupW( GetProcessHeap(), 0, t );
- *s=0x0020;
- while (*s && *s==0x0020)
- s++;
- if (*s)
- t=s+1;
- else
- t=s;
- continue;
- }
- s++;
+ while (*s)
+ { if (*s==0x0020)
+ { *s=0;
+ argv[i++]=HEAP_strdupW( GetProcessHeap(), 0, t );
+ *s=0x0020;
+ while (*s && *s==0x0020)
+ s++;
+ if (*s)
+ t=s+1;
+ else
+ t=s;
+ continue;
+ }
+ s++;
}
if (*t)
- argv[i++]=(LPWSTR)HEAP_strdupW( GetProcessHeap(), 0, t );
+ argv[i++]=(LPWSTR)HEAP_strdupW( GetProcessHeap(), 0, t );
+
HeapFree( GetProcessHeap(), 0, cmdline );
argv[i]=NULL;
*numargs=i;
@@ -670,8 +670,8 @@
LocalToWideChar(lpszDisplayName, tpath, 256);
if (SHGetDesktopFolder(&shellfolder)==S_OK)
- { shellfolder->lpvtbl->fnParseDisplayName(shellfolder,hwndOwner, NULL,lpszDisplayName,&pchEaten,ppidl,NULL);
- shellfolder->lpvtbl->fnRelease(shellfolder);
+ { IShellFolder_ParseDisplayName(shellfolder,hwndOwner, NULL,lpszDisplayName,&pchEaten,ppidl,NULL);
+ IShellFolder_Release(shellfolder);
}
TRACE(shell, "-- (new pidl %p)\n",*ppidl);
@@ -904,7 +904,7 @@
* This function is supposed to deal with the systray.
* Any ideas on how this is to be implimented?
*/
-BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATA pnid )
+BOOL WINAPI Shell_NotifyIcon( DWORD dwMessage, PNOTIFYICONDATAA pnid )
{ TRACE(shell,"\n");
return FALSE;
}
@@ -915,7 +915,7 @@
* This function is supposed to deal with the systray.
* Any ideas on how this is to be implimented?
*/
-BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATA pnid )
+BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA pnid )
{ TRACE(shell,"\n");
return FALSE;
}
@@ -972,8 +972,8 @@
}
else
{ if (SHGetDesktopFolder(&shellfolder)==S_OK)
- { shellfolder->lpvtbl->fnGetDisplayNameOf(shellfolder,pidl,SHGDN_FORPARSING,&lpName);
- shellfolder->lpvtbl->fnRelease(shellfolder);
+ { IShellFolder_GetDisplayNameOf(shellfolder,pidl,SHGDN_FORPARSING,&lpName);
+ IShellFolder_Release(shellfolder);
}
strcpy(pszPath,lpName.u.cStr);
}
@@ -1144,7 +1144,7 @@
bShell32IsInitialized = FALSE;
if (pdesktopfolder)
- { pdesktopfolder->lpvtbl->fnRelease(pdesktopfolder);
+ { IShellFolder_Release(pdesktopfolder);
}
SIC_Destroy();
diff --git a/dlls/shell32/shellord.c b/dlls/shell32/shellord.c
index 37678ae..1b135e5 100644
--- a/dlls/shell32/shellord.c
+++ b/dlls/shell32/shellord.c
@@ -13,6 +13,7 @@
#include "winversion.h"
#include "heap.h"
+#include "shellapi.h"
#include "shlobj.h"
#include "shell32_main.h"
diff --git a/include/shell.h b/include/shell.h
index 6a1c18a..63179be 100644
--- a/include/shell.h
+++ b/include/shell.h
@@ -37,31 +37,6 @@
/****************************************************************************
* common shell file structures
*/
-#define FO_MOVE 0x0001
-#define FO_COPY 0x0002
-#define FO_DELETE 0x0003
-#define FO_RENAME 0x0004
-
-#define FOF_MULTIDESTFILES 0x0001
-#define FOF_CONFIRMMOUSE 0x0002
-#define FOF_SILENT 0x0004
-#define FOF_RENAMEONCOLLISION 0x0008
-#define FOF_NOCONFIRMATION 0x0010
-#define FOF_WANTMAPPINGHANDLE 0x0020
-#define FOF_ALLOWUNDO 0x0040
-#define FOF_FILESONLY 0x0080
-#define FOF_SIMPLEPROGRESS 0x0100
-#define FOF_NOCONFIRMMKDIR 0x0200
-#define FOF_NOERRORUI 0x0400
-
-typedef WORD FILEOP_FLAGS;
-
-#define PO_DELETE 0x0013
-#define PO_RENAME 0x0014
-#define PO_PORTCHANGE 0x0020
-
-typedef WORD PRINTEROP_FLAGS;
-
/******************************
* DRAG&DROP API
*/
@@ -81,31 +56,6 @@
} DROPFILESTRUCT, *LPDROPFILESTRUCT;
-void WINAPI DragAcceptFiles16(HWND16 hWnd, BOOL16 b);
-void WINAPI DragAcceptFiles(HWND hWnd, BOOL b);
-UINT16 WINAPI DragQueryFile16(HDROP16 hDrop, WORD wFile, LPSTR lpszFile, WORD wLength);
-UINT WINAPI DragQueryFileA(HDROP hDrop, UINT lFile, LPSTR lpszFile, UINT lLength);
-UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength);
-#define DragQueryFile WINELIB_NAME_AW(DragQueryFile)
-void WINAPI DragFinish(HDROP h);
-void WINAPI DragFinish16(HDROP16 h);
-BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p);
-BOOL16 WINAPI DragQueryPoint16(HDROP16 hDrop, POINT16 *p);
-
-
-/****************************************************************************
-* NOTIFYICONDATA
-*/
-typedef struct _NOTIFYICONDATA {
- DWORD cbSize;
- HWND hWnd;
- UINT uID;
- UINT uFlags;
- UINT uCallbackMessage;
- HICON hIcon;
- CHAR szTip[64];
-} NOTIFYICONDATA, *PNOTIFYICONDATA;
-
/****************************************************************************
* SHITEMID, ITEMIDLIST, PIDL API
*/
@@ -124,96 +74,7 @@
DWORD WINAPI SHGetPathFromIDListW (LPCITEMIDLIST pidl,LPWSTR pszPath);
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
-/****************************************************************************
-* SHFILEINFO API
-*/
-typedef struct tagSHFILEINFOA {
- HICON hIcon; /* icon */
- int iIcon; /* icon index */
- DWORD dwAttributes; /* SFGAO_ flags */
- CHAR szDisplayName[MAX_PATH];/* display name (or path) */
- CHAR szTypeName[80]; /* type name */
-} SHFILEINFOA;
-typedef struct tagSHFILEINFOW {
- HICON hIcon; /* icon */
- int iIcon; /* icon index */
- DWORD dwAttributes; /* SFGAO_ flags */
- WCHAR szDisplayName[MAX_PATH];/* display name (or path) */
- WCHAR szTypeName[80]; /* type name */
-} SHFILEINFOW;
-
-DECL_WINELIB_TYPE_AW(SHFILEINFO)
-
-DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
-DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
-#define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
-
-/****************************************************************************
-* SHFILEOPSTRUCT API
-*/
-typedef struct _SHFILEOPSTRUCTA
-{ HWND hwnd;
- UINT wFunc;
- LPCSTR pFrom;
- LPCSTR pTo;
- FILEOP_FLAGS fFlags;
- BOOL fAnyOperationsAborted;
- LPVOID hNameMappings;
- LPCSTR lpszProgressTitle;
-} SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
-
-typedef struct _SHFILEOPSTRUCTW
-{ HWND hwnd;
- UINT wFunc;
- LPCWSTR pFrom;
- LPCWSTR pTo;
- FILEOP_FLAGS fFlags;
- BOOL fAnyOperationsAborted;
- LPVOID hNameMappings;
- LPCWSTR lpszProgressTitle;
-} SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
-
-#define SHFILEOPSTRUCT WINELIB_NAME_AW(SHFILEOPSTRUCT)
-#define LPSHFILEOPSTRUCT WINELIB_NAME_AW(LPSHFILEOPSTRUCT)
-
-DWORD WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp);
-DWORD WINAPI SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp);
-#define SHFileOperation WINELIB_NAME_AW(SHFileOperation)
-
-DWORD WINAPI SHFileOperationAW(DWORD x);
-
-/****************************************************************************
-* APPBARDATA
-*/
-typedef struct _AppBarData {
- DWORD cbSize;
- HWND hWnd;
- UINT uCallbackMessage;
- UINT uEdge;
- RECT rc;
- LPARAM lParam;
-} APPBARDATA, *PAPPBARDATA;
-
-#define SHGFI_LARGEICON 0x000000000 /* get large icon */
-#define SHGFI_SMALLICON 0x000000001 /* get small icon */
-#define SHGFI_OPENICON 0x000000002 /* get open icon */
-#define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
-#define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
-#define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
-#define SHGFI_UNKNOWN1 0x000000020
-#define SHGFI_UNKNOWN2 0x000000040
-#define SHGFI_UNKNOWN3 0x000000080
-#define SHGFI_ICON 0x000000100 /* get icon */
-#define SHGFI_DISPLAYNAME 0x000000200 /* get display name */
-#define SHGFI_TYPENAME 0x000000400 /* get type name */
-#define SHGFI_ATTRIBUTES 0x000000800 /* get attributes */
-#define SHGFI_ICONLOCATION 0x000001000 /* get icon location */
-#define SHGFI_EXETYPE 0x000002000 /* return exe type */
-#define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */
-#define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */
-#define SHGFI_SELECTED 0x000010000 /* show icon in selected state */
-#define SHGFI_ATTR_SPECIFIED 0x000020000 /* get only specified attributes */
/****************************************************************************
* SHChangeNotifyRegister API
@@ -313,22 +174,10 @@
/****************************************************************************
* other functions
*/
-HICON16 WINAPI ExtractIconEx16 ( LPCSTR, INT16, HICON16 *, HICON16 *, UINT16 );
-HICON WINAPI ExtractIconExA( LPCSTR, INT, HICON *, HICON *, UINT );
-HICON WINAPI ExtractIconExW( LPCWSTR, INT, HICON *, HICON *, UINT );
-#define ExtractIconEx WINELIB_NAME_AW(ExtractIconEx)
-HICON WINAPI ExtractIconExAW(LPCVOID, INT, HICON *, HICON *, UINT );
LPVOID WINAPI SHAlloc(DWORD len);
DWORD WINAPI SHFree(LPVOID x);
-#define SE_ERR_SHARE 26
-#define SE_ERR_ASSOCINCOMPLETE 27
-#define SE_ERR_DDETIMEOUT 28
-#define SE_ERR_DDEFAIL 29
-#define SE_ERR_DDEBUSY 30
-#define SE_ERR_NOASSOC 31
-
#define CSIDL_DESKTOP 0x0000
#define CSIDL_PROGRAMS 0x0002
#define CSIDL_CONTROLS 0x0003
diff --git a/include/shellapi.h b/include/shellapi.h
index 2f112b7..b0b4c8b 100644
--- a/include/shellapi.h
+++ b/include/shellapi.h
@@ -3,26 +3,258 @@
#include "windef.h"
-HICON16 WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
-HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
-HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
+#pragma pack(1)
+
+/******************************************
+ * DragObject
+ */
+
+typedef struct _DRAGINFOA
+{ UINT uSize;
+ POINT pt;
+ BOOL fNC;
+ LPSTR lpFileList;
+ DWORD grfKeyState;
+} DRAGINFOA, * LPDRAGINFOA;
+
+typedef struct _DRAGINFOW
+{ UINT uSize;
+ POINT pt;
+ BOOL fNC;
+ LPWSTR lpFileList;
+ DWORD grfKeyState;
+} DRAGINFOW, LPDRAGINFOW;
+
+void WINAPI DragAcceptFiles(HWND hWnd, BOOL b);
+void WINAPI DragAcceptFiles16(HWND16 hWnd, BOOL16 b);
+
+UINT16 WINAPI DragQueryFile16(HDROP16 hDrop, WORD wFile, LPSTR lpszFile, WORD wLength);
+UINT WINAPI DragQueryFileA(HDROP hDrop, UINT lFile, LPSTR lpszFile, UINT lLength);
+UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength);
+#define DragQueryFile WINELIB_NAME_AW(DragQueryFile)
+
+void WINAPI DragFinish16(HDROP16 h);
+void WINAPI DragFinish(HDROP h);
+
+BOOL16 WINAPI DragQueryPoint16(HDROP16 hDrop, POINT16 *p);
+BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p);
+
+
+/******************************************
+ * Application Bar
+ */
+#define ABM_NEW 0x00000000
+#define ABM_REMOVE 0x00000001
+#define ABM_QUERYPOS 0x00000002
+#define ABM_SETPOS 0x00000003
+#define ABM_GETSTATE 0x00000004
+#define ABM_GETTASKBARPOS 0x00000005
+#define ABM_ACTIVATE 0x00000006
+#define ABM_GETAUTOHIDEBAR 0x00000007
+#define ABM_SETAUTOHIDEBAR 0x00000008
+#define ABM_WINDOWPOSCHANGED 0x00000009
+
+#define ABN_STATECHANGE 0x00000000
+#define ABN_POSCHANGED 0x00000001
+#define ABN_FULLSCREENAPP 0x00000002
+#define ABN_WINDOWARRANGE 0x00000003
+
+#define ABS_AUTOHIDE 0x00000001
+#define ABS_ALWAYSONTOP 0x00000002
+
+#define ABE_LEFT 0
+#define ABE_TOP 1
+#define ABE_RIGHT 2
+#define ABE_BOTTOM 3
+
+typedef struct _AppBarData
+{ DWORD cbSize;
+ HWND hWnd;
+ UINT uCallbackMessage;
+ UINT uEdge;
+ RECT rc;
+ LPARAM lParam;
+} APPBARDATA, *PAPPBARDATA;
+
+
+/******************************************
+ * SHGetFileInfo
+ */
+
+#define SHGFI_LARGEICON 0x000000000 /* get large icon */
+#define SHGFI_SMALLICON 0x000000001 /* get small icon */
+#define SHGFI_OPENICON 0x000000002 /* get open icon */
+#define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
+#define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
+#define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
+#define SHGFI_UNKNOWN1 0x000000020
+#define SHGFI_UNKNOWN2 0x000000040
+#define SHGFI_UNKNOWN3 0x000000080
+#define SHGFI_ICON 0x000000100 /* get icon */
+#define SHGFI_DISPLAYNAME 0x000000200 /* get display name */
+#define SHGFI_TYPENAME 0x000000400 /* get type name */
+#define SHGFI_ATTRIBUTES 0x000000800 /* get attributes */
+#define SHGFI_ICONLOCATION 0x000001000 /* get icon location */
+#define SHGFI_EXETYPE 0x000002000 /* return exe type */
+#define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */
+#define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */
+#define SHGFI_SELECTED 0x000010000 /* show icon in selected state */
+#define SHGFI_ATTR_SPECIFIED 0x000020000 /* get only specified attributes */
+
+typedef struct tagSHFILEINFOA
+{ HICON hIcon; /* icon */
+ int iIcon; /* icon index */
+ DWORD dwAttributes; /* SFGAO_ flags */
+ CHAR szDisplayName[MAX_PATH];/* display name (or path) */
+ CHAR szTypeName[80]; /* type name */
+} SHFILEINFOA;
+
+typedef struct tagSHFILEINFOW
+{ HICON hIcon; /* icon */
+ int iIcon; /* icon index */
+ DWORD dwAttributes; /* SFGAO_ flags */
+ WCHAR szDisplayName[MAX_PATH];/* display name (or path) */
+ WCHAR szTypeName[80]; /* type name */
+} SHFILEINFOW;
+
+DECL_WINELIB_TYPE_AW(SHFILEINFO)
+
+DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
+DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
+#define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
+
+/******************************************
+ * SHSetFileInfo
+ */
+
+/******************************************
+* SHFileOperation
+*/
+#define FO_MOVE 0x0001
+#define FO_COPY 0x0002
+#define FO_DELETE 0x0003
+#define FO_RENAME 0x0004
+
+#define FOF_MULTIDESTFILES 0x0001
+#define FOF_CONFIRMMOUSE 0x0002
+#define FOF_SILENT 0x0004
+#define FOF_RENAMEONCOLLISION 0x0008
+#define FOF_NOCONFIRMATION 0x0010
+#define FOF_WANTMAPPINGHANDLE 0x0020
+#define FOF_ALLOWUNDO 0x0040
+#define FOF_FILESONLY 0x0080
+#define FOF_SIMPLEPROGRESS 0x0100
+#define FOF_NOCONFIRMMKDIR 0x0200
+#define FOF_NOERRORUI 0x0400
+
+typedef WORD FILEOP_FLAGS;
+
+#define PO_DELETE 0x0013
+#define PO_RENAME 0x0014
+#define PO_PORTCHANGE 0x0020
+
+typedef WORD PRINTEROP_FLAGS;
+
+typedef struct _SHFILEOPSTRUCTA
+{ HWND hwnd;
+ UINT wFunc;
+ LPCSTR pFrom;
+ LPCSTR pTo;
+ FILEOP_FLAGS fFlags;
+ BOOL fAnyOperationsAborted;
+ LPVOID hNameMappings;
+ LPCSTR lpszProgressTitle;
+} SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
+
+typedef struct _SHFILEOPSTRUCTW
+{ HWND hwnd;
+ UINT wFunc;
+ LPCWSTR pFrom;
+ LPCWSTR pTo;
+ FILEOP_FLAGS fFlags;
+ BOOL fAnyOperationsAborted;
+ LPVOID hNameMappings;
+ LPCWSTR lpszProgressTitle;
+} SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
+
+#define SHFILEOPSTRUCT WINELIB_NAME_AW(SHFILEOPSTRUCT)
+#define LPSHFILEOPSTRUCT WINELIB_NAME_AW(LPSHFILEOPSTRUCT)
+
+DWORD WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp);
+DWORD WINAPI SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp);
+#define SHFileOperation WINELIB_NAME_AW(SHFileOperation)
+
+DWORD WINAPI SHFileOperationAW(DWORD x);
+
+/******************************************
+ * ShellExecute
+ */
+#define SE_ERR_SHARE 26
+#define SE_ERR_ASSOCINCOMPLETE 27
+#define SE_ERR_DDETIMEOUT 28
+#define SE_ERR_DDEFAIL 29
+#define SE_ERR_DDEBUSY 30
+#define SE_ERR_NOASSOC 31
+
+HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
+HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
+HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
+#define ShellExecute WINELIB_NAME_AW(ShellExecute)
+
+/******************************************
+ * Tray Notification
+ */
+typedef struct _NOTIFYICONDATAA
+{ DWORD cbSize;
+ HWND hWnd;
+ UINT uID;
+ UINT uFlags;
+ UINT uCallbackMessage;
+ HICON hIcon;
+ CHAR szTip[64];
+} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
+
+typedef struct _NOTIFYICONDATAW
+{ DWORD cbSize;
+ HWND hWnd;
+ UINT uID;
+ UINT uFlags;
+ UINT uCallbackMessage;
+ HICON hIcon;
+ WCHAR szTip[64];
+} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
+
+
+/******************************************
+ * Misc
+ */
+
+HICON16 WINAPI ExtractIcon16(HINSTANCE16,LPCSTR,UINT16);
+HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
+HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
#define ExtractIcon WINELIB_NAME_AW(ExtractIcon)
+
HICON16 WINAPI ExtractAssociatedIcon16(HINSTANCE16,LPSTR,LPWORD);
HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD);
HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD);
#define ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
+
+HICON16 WINAPI ExtractIconEx16 ( LPCSTR, INT16, HICON16 *, HICON16 *, UINT16 );
+HICON WINAPI ExtractIconExA( LPCSTR, INT, HICON *, HICON *, UINT );
+HICON WINAPI ExtractIconExW( LPCWSTR, INT, HICON *, HICON *, UINT );
+#define ExtractIconEx WINELIB_NAME_AW(ExtractIconEx)
+HICON WINAPI ExtractIconExAW(LPCVOID, INT, HICON *, HICON *, UINT );
+
HINSTANCE16 WINAPI FindExecutable16(LPCSTR,LPCSTR,LPSTR);
HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
#define FindExecutable WINELIB_NAME_AW(FindExecutable)
+
BOOL16 WINAPI ShellAbout16(HWND16,LPCSTR,LPCSTR,HICON16);
BOOL WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
BOOL WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
#define ShellAbout WINELIB_NAME_AW(ShellAbout)
-HINSTANCE16 WINAPI ShellExecute16(HWND16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT16);
-HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
-HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
-#define ShellExecute WINELIB_NAME_AW(ShellExecute)
+#pragma pack(4)
#endif /* _WINE_SHELLAPI_H */
diff --git a/include/shlobj.h b/include/shlobj.h
index d89c725..a89da1b 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -397,18 +397,6 @@
#define FM_BLANK_ICON -1
#define FM_DEFAULT_HEIGHT 0
-/* fixme: move to ShellApi.h */
-#define ABM_NEW 0x00000000
-#define ABM_REMOVE 0x00000001
-#define ABM_QUERYPOS 0x00000002
-#define ABM_SETPOS 0x00000003
-#define ABM_GETSTATE 0x00000004
-#define ABM_GETTASKBARPOS 0x00000005
-#define ABM_ACTIVATE 0x00000006
-#define ABM_GETAUTOHIDEBAR 0x00000007
-#define ABM_SETAUTOHIDEBAR 0x00000008
-#define ABM_WINDOWPOSCHANGED 0x00000009
-
/**********************************************************************
* SHGetSettings ()
*/
@@ -447,8 +435,6 @@
#define SSF_MAPNETDRVBUTTON 0x1000
#define SSF_NOCONFIRMRECYCLE 0x8000
#define SSF_HIDEICONS 0x4000
-#define ABS_AUTOHIDE 0x00000001
-#define ABS_ALWAYSONTOP 0x00000002
/**********************************************************************/