Alexandre Julliard | 0799c1a | 2002-03-09 23:29:33 +0000 | [diff] [blame] | 1 | /* |
| 2 | * Copyright (C) the Wine project |
| 3 | * |
| 4 | * This library is free software; you can redistribute it and/or |
| 5 | * modify it under the terms of the GNU Lesser General Public |
| 6 | * License as published by the Free Software Foundation; either |
| 7 | * version 2.1 of the License, or (at your option) any later version. |
| 8 | * |
| 9 | * This library is distributed in the hope that it will be useful, |
| 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| 12 | * Lesser General Public License for more details. |
| 13 | * |
| 14 | * You should have received a copy of the GNU Lesser General Public |
| 15 | * License along with this library; if not, write to the Free Software |
| 16 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| 17 | */ |
| 18 | |
Patrik Stridvall | 857eb39 | 1999-06-12 18:36:54 +0000 | [diff] [blame] | 19 | #ifndef __WINE_SHELLAPI_H |
| 20 | #define __WINE_SHELLAPI_H |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 21 | |
Patrik Stridvall | 14da7b1 | 1999-06-12 10:53:06 +0000 | [diff] [blame] | 22 | #ifdef __cplusplus |
| 23 | extern "C" { |
| 24 | #endif /* defined(__cplusplus) */ |
| 25 | |
Dimitrie O. Paun | 53f9c21 | 2003-08-28 21:43:34 +0000 | [diff] [blame] | 26 | #include <pshpack1.h> |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 27 | |
François Gouget | dea3d78 | 2001-01-02 21:00:46 +0000 | [diff] [blame] | 28 | DECLARE_HANDLE(HDROP); |
| 29 | |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 30 | /****************************************** |
| 31 | * DragObject |
| 32 | */ |
| 33 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 34 | typedef struct _DRAGINFOA |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 35 | { UINT uSize; |
| 36 | POINT pt; |
| 37 | BOOL fNC; |
| 38 | LPSTR lpFileList; |
| 39 | DWORD grfKeyState; |
Patrik Stridvall | ced69a9 | 2002-11-12 01:05:00 +0000 | [diff] [blame] | 40 | } DRAGINFOA, *LPDRAGINFOA; |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 41 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 42 | typedef struct _DRAGINFOW |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 43 | { UINT uSize; |
| 44 | POINT pt; |
| 45 | BOOL fNC; |
| 46 | LPWSTR lpFileList; |
| 47 | DWORD grfKeyState; |
Patrik Stridvall | ced69a9 | 2002-11-12 01:05:00 +0000 | [diff] [blame] | 48 | } DRAGINFOW, *LPDRAGINFOW; |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 49 | |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 50 | DECL_WINELIB_TYPE_AW(DRAGINFO) |
| 51 | DECL_WINELIB_TYPE_AW(LPDRAGINFO) |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 52 | |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 53 | void WINAPI DragAcceptFiles(HWND hWnd, BOOL b); |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 54 | UINT WINAPI DragQueryFileA(HDROP hDrop, UINT lFile, LPSTR lpszFile, UINT lLength); |
| 55 | UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength); |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 56 | #define DragQueryFile WINELIB_NAME_AW(DragQueryFile) |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 57 | void WINAPI DragFinish(HDROP h); |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 58 | BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p); |
| 59 | |
Jim Aston | 10141fe | 1999-04-25 12:31:20 +0000 | [diff] [blame] | 60 | #define NIF_MESSAGE 0x00000001 |
| 61 | #define NIF_ICON 0x00000002 |
| 62 | #define NIF_TIP 0x00000004 |
| 63 | |
| 64 | #define NIM_ADD 0x00000000 |
| 65 | #define NIM_MODIFY 0x00000001 |
| 66 | #define NIM_DELETE 0x00000002 |
| 67 | |
| 68 | |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 69 | |
| 70 | /****************************************** |
| 71 | * Application Bar |
| 72 | */ |
| 73 | #define ABM_NEW 0x00000000 |
| 74 | #define ABM_REMOVE 0x00000001 |
| 75 | #define ABM_QUERYPOS 0x00000002 |
| 76 | #define ABM_SETPOS 0x00000003 |
| 77 | #define ABM_GETSTATE 0x00000004 |
| 78 | #define ABM_GETTASKBARPOS 0x00000005 |
| 79 | #define ABM_ACTIVATE 0x00000006 |
| 80 | #define ABM_GETAUTOHIDEBAR 0x00000007 |
| 81 | #define ABM_SETAUTOHIDEBAR 0x00000008 |
| 82 | #define ABM_WINDOWPOSCHANGED 0x00000009 |
| 83 | |
| 84 | #define ABN_STATECHANGE 0x00000000 |
| 85 | #define ABN_POSCHANGED 0x00000001 |
| 86 | #define ABN_FULLSCREENAPP 0x00000002 |
| 87 | #define ABN_WINDOWARRANGE 0x00000003 |
| 88 | |
| 89 | #define ABS_AUTOHIDE 0x00000001 |
| 90 | #define ABS_ALWAYSONTOP 0x00000002 |
| 91 | |
| 92 | #define ABE_LEFT 0 |
| 93 | #define ABE_TOP 1 |
| 94 | #define ABE_RIGHT 2 |
| 95 | #define ABE_BOTTOM 3 |
| 96 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 97 | typedef struct _AppBarData |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 98 | { DWORD cbSize; |
| 99 | HWND hWnd; |
| 100 | UINT uCallbackMessage; |
| 101 | UINT uEdge; |
| 102 | RECT rc; |
| 103 | LPARAM lParam; |
| 104 | } APPBARDATA, *PAPPBARDATA; |
| 105 | |
Francois Gouget | 8be11ca | 2000-12-12 00:36:16 +0000 | [diff] [blame] | 106 | UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA); |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 107 | |
| 108 | /****************************************** |
| 109 | * SHGetFileInfo |
| 110 | */ |
| 111 | |
| 112 | #define SHGFI_LARGEICON 0x000000000 /* get large icon */ |
| 113 | #define SHGFI_SMALLICON 0x000000001 /* get small icon */ |
| 114 | #define SHGFI_OPENICON 0x000000002 /* get open icon */ |
| 115 | #define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */ |
| 116 | #define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */ |
| 117 | #define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */ |
Mike McCormack | a830bf5 | 2005-02-15 15:43:54 +0000 | [diff] [blame] | 118 | #define SHGFI_ADDOVERLAYS 0x000000020 |
| 119 | #define SHGFI_OVERLAYINDEX 0x000000040 |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 120 | #define SHGFI_ICON 0x000000100 /* get icon */ |
| 121 | #define SHGFI_DISPLAYNAME 0x000000200 /* get display name */ |
| 122 | #define SHGFI_TYPENAME 0x000000400 /* get type name */ |
| 123 | #define SHGFI_ATTRIBUTES 0x000000800 /* get attributes */ |
| 124 | #define SHGFI_ICONLOCATION 0x000001000 /* get icon location */ |
| 125 | #define SHGFI_EXETYPE 0x000002000 /* return exe type */ |
| 126 | #define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */ |
| 127 | #define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */ |
| 128 | #define SHGFI_SELECTED 0x000010000 /* show icon in selected state */ |
| 129 | #define SHGFI_ATTR_SPECIFIED 0x000020000 /* get only specified attributes */ |
| 130 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 131 | typedef struct tagSHFILEINFOA |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 132 | { HICON hIcon; /* icon */ |
| 133 | int iIcon; /* icon index */ |
| 134 | DWORD dwAttributes; /* SFGAO_ flags */ |
| 135 | CHAR szDisplayName[MAX_PATH];/* display name (or path) */ |
| 136 | CHAR szTypeName[80]; /* type name */ |
| 137 | } SHFILEINFOA; |
| 138 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 139 | typedef struct tagSHFILEINFOW |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 140 | { HICON hIcon; /* icon */ |
| 141 | int iIcon; /* icon index */ |
| 142 | DWORD dwAttributes; /* SFGAO_ flags */ |
| 143 | WCHAR szDisplayName[MAX_PATH];/* display name (or path) */ |
| 144 | WCHAR szTypeName[80]; /* type name */ |
| 145 | } SHFILEINFOW; |
| 146 | |
| 147 | DECL_WINELIB_TYPE_AW(SHFILEINFO) |
| 148 | |
| 149 | DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); |
| 150 | DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT); |
| 151 | #define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo) |
| 152 | |
| 153 | /****************************************** |
| 154 | * SHSetFileInfo |
| 155 | */ |
| 156 | |
| 157 | /****************************************** |
| 158 | * SHFileOperation |
| 159 | */ |
| 160 | #define FO_MOVE 0x0001 |
| 161 | #define FO_COPY 0x0002 |
| 162 | #define FO_DELETE 0x0003 |
| 163 | #define FO_RENAME 0x0004 |
| 164 | |
| 165 | #define FOF_MULTIDESTFILES 0x0001 |
| 166 | #define FOF_CONFIRMMOUSE 0x0002 |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 167 | #define FOF_SILENT 0x0004 |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 168 | #define FOF_RENAMEONCOLLISION 0x0008 |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 169 | #define FOF_NOCONFIRMATION 0x0010 |
| 170 | #define FOF_WANTMAPPINGHANDLE 0x0020 |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 171 | #define FOF_ALLOWUNDO 0x0040 |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 172 | #define FOF_FILESONLY 0x0080 |
| 173 | #define FOF_SIMPLEPROGRESS 0x0100 |
| 174 | #define FOF_NOCONFIRMMKDIR 0x0200 |
| 175 | #define FOF_NOERRORUI 0x0400 |
Rolf Kalbermatter | a25967c | 2003-04-19 20:09:09 +0000 | [diff] [blame] | 176 | #define FOF_NOCOPYSECURITYATTRIBS 0x0800 |
Rolf Kalbermatter | 9e06d0c | 2004-04-01 21:01:04 +0000 | [diff] [blame] | 177 | #define FOF_NORECURSION 0x1000 /* don't do recursion into directories */ |
| 178 | #define FOF_NO_CONNECTED_ELEMENTS 0x2000 /* don't do connected files */ |
| 179 | #define FOF_WANTNUKEWARNING 0x4000 /* during delete operation, warn if delete instead |
| 180 | of recycling (even if FOF_NOCONFIRMATION) */ |
| 181 | #define FOF_NORECURSEREPARSE 0x8000 /* don't do recursion into reparse points */ |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 182 | |
| 183 | typedef WORD FILEOP_FLAGS; |
| 184 | |
Vincent Béron | 9a62491 | 2002-05-31 23:06:46 +0000 | [diff] [blame] | 185 | #define PO_DELETE 0x0013 |
| 186 | #define PO_RENAME 0x0014 |
| 187 | #define PO_PORTCHANGE 0x0020 |
Rolf Kalbermatter | 9e06d0c | 2004-04-01 21:01:04 +0000 | [diff] [blame] | 188 | #define PO_REN_PORT (PO_RENAME | PO_PORTCHANGE) |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 189 | |
| 190 | typedef WORD PRINTEROP_FLAGS; |
| 191 | |
| 192 | typedef struct _SHFILEOPSTRUCTA |
| 193 | { HWND hwnd; |
| 194 | UINT wFunc; |
| 195 | LPCSTR pFrom; |
| 196 | LPCSTR pTo; |
| 197 | FILEOP_FLAGS fFlags; |
| 198 | BOOL fAnyOperationsAborted; |
| 199 | LPVOID hNameMappings; |
| 200 | LPCSTR lpszProgressTitle; |
| 201 | } SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA; |
| 202 | |
| 203 | typedef struct _SHFILEOPSTRUCTW |
| 204 | { HWND hwnd; |
| 205 | UINT wFunc; |
| 206 | LPCWSTR pFrom; |
| 207 | LPCWSTR pTo; |
| 208 | FILEOP_FLAGS fFlags; |
| 209 | BOOL fAnyOperationsAborted; |
| 210 | LPVOID hNameMappings; |
| 211 | LPCWSTR lpszProgressTitle; |
| 212 | } SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW; |
| 213 | |
| 214 | #define SHFILEOPSTRUCT WINELIB_NAME_AW(SHFILEOPSTRUCT) |
| 215 | #define LPSHFILEOPSTRUCT WINELIB_NAME_AW(LPSHFILEOPSTRUCT) |
| 216 | |
Martin Fuchs | c0a5a27 | 2004-01-05 21:13:37 +0000 | [diff] [blame] | 217 | int WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp); |
| 218 | int WINAPI SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp); |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 219 | #define SHFileOperation WINELIB_NAME_AW(SHFileOperation) |
| 220 | |
Rolf Kalbermatter | 9e06d0c | 2004-04-01 21:01:04 +0000 | [diff] [blame] | 221 | typedef struct _SHNAMEMAPPINGA |
| 222 | { |
| 223 | LPSTR pszOldPath; |
| 224 | LPSTR pszNewPath; |
| 225 | int cchOldPath; |
| 226 | int cchNewPath; |
| 227 | } SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA; |
| 228 | |
| 229 | typedef struct _SHNAMEMAPPINGW |
| 230 | { |
| 231 | LPWSTR pszOldPath; |
| 232 | LPWSTR pszNewPath; |
| 233 | int cchOldPath; |
| 234 | int cchNewPath; |
| 235 | } SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW; |
| 236 | |
| 237 | DECL_WINELIB_TYPE_AW(SHNAMEMAPPING) |
| 238 | DECL_WINELIB_TYPE_AW(LPSHNAMEMAPPING) |
| 239 | |
Rolf Kalbermatter | 8d3111c | 2004-10-21 19:54:36 +0000 | [diff] [blame] | 240 | void WINAPI SHFreeNameMappings(HANDLE hNameMappings); |
| 241 | |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 242 | /****************************************** |
| 243 | * ShellExecute |
| 244 | */ |
| 245 | #define SE_ERR_SHARE 26 |
| 246 | #define SE_ERR_ASSOCINCOMPLETE 27 |
| 247 | #define SE_ERR_DDETIMEOUT 28 |
| 248 | #define SE_ERR_DDEFAIL 29 |
| 249 | #define SE_ERR_DDEBUSY 30 |
| 250 | #define SE_ERR_NOASSOC 31 |
| 251 | |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 252 | HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT); |
| 253 | HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT); |
| 254 | #define ShellExecute WINELIB_NAME_AW(ShellExecute) |
| 255 | |
Alexandre Julliard | 29cff12 | 2003-11-26 03:59:16 +0000 | [diff] [blame] | 256 | #define SE_ERR_FNF 2 /* file not found */ |
| 257 | #define SE_ERR_PNF 3 /* path not found */ |
| 258 | #define SE_ERR_ACCESSDENIED 5 /* access denied */ |
| 259 | #define SE_ERR_OOM 8 /* out of memory */ |
| 260 | #define SE_ERR_DLLNOTFOUND 32 |
| 261 | #define SE_ERR_SHARE 26 |
| 262 | #define SE_ERR_ASSOCINCOMPLETE 27 |
| 263 | #define SE_ERR_DDETIMEOUT 28 |
| 264 | #define SE_ERR_DDEFAIL 29 |
| 265 | #define SE_ERR_DDEBUSY 30 |
| 266 | #define SE_ERR_NOASSOC 31 |
| 267 | |
| 268 | #define SEE_MASK_CLASSNAME 0x00000001 |
| 269 | #define SEE_MASK_CLASSKEY 0x00000003 |
| 270 | #define SEE_MASK_IDLIST 0x00000004 |
| 271 | #define SEE_MASK_INVOKEIDLIST 0x0000000c |
| 272 | #define SEE_MASK_ICON 0x00000010 |
| 273 | #define SEE_MASK_HOTKEY 0x00000020 |
| 274 | #define SEE_MASK_NOCLOSEPROCESS 0x00000040 |
| 275 | #define SEE_MASK_CONNECTNETDRV 0x00000080 |
| 276 | #define SEE_MASK_FLAG_DDEWAIT 0x00000100 |
| 277 | #define SEE_MASK_DOENVSUBST 0x00000200 |
| 278 | #define SEE_MASK_FLAG_NO_UI 0x00000400 |
| 279 | #define SEE_MASK_UNICODE 0x00004000 |
| 280 | #define SEE_MASK_NO_CONSOLE 0x00008000 |
| 281 | #define SEE_MASK_ASYNCOK 0x00100000 |
| 282 | #define SEE_MASK_HMONITOR 0x00200000 |
| 283 | |
| 284 | typedef struct _SHELLEXECUTEINFOA |
| 285 | { DWORD cbSize; |
| 286 | ULONG fMask; |
| 287 | HWND hwnd; |
| 288 | LPCSTR lpVerb; |
| 289 | LPCSTR lpFile; |
| 290 | LPCSTR lpParameters; |
| 291 | LPCSTR lpDirectory; |
| 292 | INT nShow; |
| 293 | HINSTANCE hInstApp; |
| 294 | /* Optional fields */ |
| 295 | LPVOID lpIDList; |
| 296 | LPCSTR lpClass; |
| 297 | HKEY hkeyClass; |
| 298 | DWORD dwHotKey; |
| 299 | union |
| 300 | { HANDLE hIcon; |
| 301 | HANDLE hMonitor; |
| 302 | } DUMMYUNIONNAME; |
| 303 | HANDLE hProcess; |
| 304 | } SHELLEXECUTEINFOA, *LPSHELLEXECUTEINFOA; |
| 305 | |
| 306 | typedef struct _SHELLEXECUTEINFOW |
| 307 | { DWORD cbSize; |
| 308 | ULONG fMask; |
| 309 | HWND hwnd; |
| 310 | LPCWSTR lpVerb; |
| 311 | LPCWSTR lpFile; |
| 312 | LPCWSTR lpParameters; |
| 313 | LPCWSTR lpDirectory; |
| 314 | INT nShow; |
| 315 | HINSTANCE hInstApp; |
| 316 | /* Optional fields*/ |
| 317 | LPVOID lpIDList; |
| 318 | LPCWSTR lpClass; |
| 319 | HKEY hkeyClass; |
| 320 | DWORD dwHotKey; |
| 321 | union |
| 322 | { HANDLE hIcon; |
| 323 | HANDLE hMonitor; |
| 324 | } DUMMYUNIONNAME; |
| 325 | HANDLE hProcess; |
| 326 | } SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW; |
| 327 | |
| 328 | #define SHELLEXECUTEINFO WINELIB_NAME_AW(SHELLEXECUTEINFO) |
| 329 | #define LPSHELLEXECUTEINFO WINELIB_NAME_AW(LPSHELLEXECUTEINFO) |
| 330 | |
| 331 | BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo); |
| 332 | BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo); |
| 333 | #define ShellExecuteEx WINELIB_NAME_AW(ShellExecuteEx) |
| 334 | |
| 335 | void WINAPI WinExecErrorA(HWND hwnd,INT error, LPCSTR lpstrFileName, LPCSTR lpstrTitle); |
| 336 | void WINAPI WinExecErrorW(HWND hwnd,INT error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle); |
| 337 | #define WinExecError WINELIB_NAME_AW(WinExecError) |
| 338 | |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 339 | /****************************************** |
| 340 | * Tray Notification |
| 341 | */ |
| 342 | typedef struct _NOTIFYICONDATAA |
| 343 | { DWORD cbSize; |
| 344 | HWND hWnd; |
| 345 | UINT uID; |
| 346 | UINT uFlags; |
| 347 | UINT uCallbackMessage; |
| 348 | HICON hIcon; |
Francois Gouget | 466f5e7 | 2004-08-19 19:16:31 +0000 | [diff] [blame] | 349 | CHAR szTip[128]; |
| 350 | DWORD dwState; |
| 351 | DWORD dwStateMask; |
| 352 | CHAR szInfo[256]; |
| 353 | union { |
| 354 | UINT uTimeout; |
| 355 | UINT uVersion; |
| 356 | } DUMMYUNIONNAME; |
| 357 | CHAR szInfoTitle[64]; |
| 358 | DWORD dwInfoFlags; |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 359 | } NOTIFYICONDATAA, *PNOTIFYICONDATAA; |
| 360 | |
| 361 | typedef struct _NOTIFYICONDATAW |
| 362 | { DWORD cbSize; |
| 363 | HWND hWnd; |
| 364 | UINT uID; |
| 365 | UINT uFlags; |
| 366 | UINT uCallbackMessage; |
| 367 | HICON hIcon; |
Francois Gouget | 466f5e7 | 2004-08-19 19:16:31 +0000 | [diff] [blame] | 368 | WCHAR szTip[128]; |
| 369 | DWORD dwState; |
| 370 | DWORD dwStateMask; |
| 371 | WCHAR szInfo[256]; |
| 372 | union { |
| 373 | UINT uTimeout; |
| 374 | UINT uVersion; |
| 375 | } DUMMYUNIONNAME; |
| 376 | WCHAR szInfoTitle[64]; |
| 377 | DWORD dwInfoFlags; |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 378 | } NOTIFYICONDATAW, *PNOTIFYICONDATAW; |
| 379 | |
Peter Hunnisett | 565b008 | 2000-09-19 02:43:00 +0000 | [diff] [blame] | 380 | DECL_WINELIB_TYPE_AW(NOTIFYICONDATA) |
| 381 | DECL_WINELIB_TYPE_AW(PNOTIFYICONDATA) |
| 382 | |
| 383 | BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData); |
| 384 | BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData); |
| 385 | |
| 386 | #define Shell_NotifyIcon WINELIB_NAME_AW(Shell_NotifyIcon) |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 387 | |
| 388 | /****************************************** |
Alexandre Julliard | 487b9f5 | 2004-02-11 06:21:45 +0000 | [diff] [blame] | 389 | * Links |
| 390 | */ |
| 391 | |
| 392 | #define SHGNLI_PIDL 0x01 |
| 393 | #define SHGNLI_PREFIXNAME 0x02 |
| 394 | #define SHGNLI_NOUNIQUE 0x04 |
| 395 | #define SHGNLI_NOLNK 0x08 |
| 396 | |
| 397 | BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL*,UINT); |
| 398 | BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL*,UINT); |
| 399 | #define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo) |
| 400 | |
| 401 | /****************************************** |
Hans Leidekker | c1236fd | 2005-01-03 20:26:06 +0000 | [diff] [blame] | 402 | * Recycle bin |
| 403 | */ |
| 404 | |
| 405 | typedef struct _SHQUERYRBINFO |
| 406 | { |
| 407 | DWORD cbSize; |
| 408 | DWORDLONG i64Size; |
| 409 | DWORDLONG i64NumItems; |
| 410 | } SHQUERYRBINFO, *LPSHQUERYRBINFO; |
| 411 | |
| 412 | HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD); |
| 413 | HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD); |
| 414 | #define SHEmptyRecycleBin WINELIB_NAME_AW(SHEmptyRecycleBin) |
| 415 | HRESULT WINAPI SHQueryRecycleBinA(LPCSTR,LPSHQUERYRBINFO); |
| 416 | HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR,LPSHQUERYRBINFO); |
| 417 | #define SHQueryRecycleBin WINELIB_NAME_AW(SHQueryRecycleBin) |
| 418 | |
| 419 | /****************************************** |
Juergen Schmied | 28613d3 | 1999-04-22 10:11:04 +0000 | [diff] [blame] | 420 | * Misc |
| 421 | */ |
| 422 | |
Francois Gouget | f8142d3 | 2001-07-17 00:39:58 +0000 | [diff] [blame] | 423 | LPWSTR* WINAPI CommandLineToArgvW(LPCWSTR,int*); |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 424 | HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT); |
| 425 | HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT); |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 426 | #define ExtractIcon WINELIB_NAME_AW(ExtractIcon) |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 427 | HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD); |
| 428 | HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD); |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 429 | #define ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon) |
Rolf Kalbermatter | e2b06d2 | 2002-11-30 02:22:24 +0000 | [diff] [blame] | 430 | HICON WINAPI ExtractAssociatedIconExA(HINSTANCE,LPSTR,LPWORD,LPWORD); |
| 431 | HICON WINAPI ExtractAssociatedIconExW(HINSTANCE,LPWSTR,LPWORD,LPWORD); |
| 432 | #define ExtractAssociatedIconEx WINELIB_NAME_AW(ExtractAssociatedIconEx) |
Rolf Kalbermatter | 58c04da | 2002-12-10 19:10:11 +0000 | [diff] [blame] | 433 | UINT WINAPI ExtractIconExA(LPCSTR,INT,HICON*,HICON*,UINT); |
| 434 | UINT WINAPI ExtractIconExW(LPCWSTR,INT,HICON*,HICON*,UINT); |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 435 | #define ExtractIconEx WINELIB_NAME_AW(ExtractIconEx) |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 436 | HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR); |
| 437 | HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR); |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 438 | #define FindExecutable WINELIB_NAME_AW(FindExecutable) |
Alexandre Julliard | 83f52d1 | 2000-09-26 22:20:14 +0000 | [diff] [blame] | 439 | BOOL WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON); |
| 440 | BOOL WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON); |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 441 | #define ShellAbout WINELIB_NAME_AW(ShellAbout) |
Alexandre Julliard | 487b9f5 | 2004-02-11 06:21:45 +0000 | [diff] [blame] | 442 | int WINAPIV ShellMessageBoxA(HINSTANCE,HWND,LPCSTR,LPCSTR,UINT,...); |
| 443 | int WINAPIV ShellMessageBoxW(HINSTANCE,HWND,LPCWSTR,LPCWSTR,UINT,...); |
| 444 | #define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox) |
Vitaly Lipatov | b39c398 | 2005-06-20 15:33:48 +0000 | [diff] [blame] | 445 | DWORD WINAPI DoEnvironmentSubstA(LPSTR, UINT); |
| 446 | DWORD WINAPI DoEnvironmentSubstW(LPWSTR, UINT); |
| 447 | #define DoEnvironmentSubst WINELIB_NAME_AW(DoEnvironmentSubst) |
| 448 | |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 449 | |
Patrik Stridvall | 14da7b1 | 1999-06-12 10:53:06 +0000 | [diff] [blame] | 450 | #ifdef __cplusplus |
| 451 | } /* extern "C" */ |
| 452 | #endif /* defined(__cplusplus) */ |
| 453 | |
Dimitrie O. Paun | 53f9c21 | 2003-08-28 21:43:34 +0000 | [diff] [blame] | 454 | #include <poppack.h> |
Michael Veksler | 17822f4 | 1999-02-09 15:46:25 +0000 | [diff] [blame] | 455 | |
Patrik Stridvall | 857eb39 | 1999-06-12 18:36:54 +0000 | [diff] [blame] | 456 | #endif /* __WINE_SHELLAPI_H */ |