Commit 55fc5c8a authored by Alexandre Julliard's avatar Alexandre Julliard

include: Use proper dllimports for shell32 functions.

parent 9be166e2
EXTRADEFS = -D_SHELL32_
MODULE = shell32.dll
IMPORTLIB = shell32
IMPORTS = uuid shlwapi user32 gdi32 advapi32
......
......@@ -23,6 +23,14 @@
extern "C" {
#endif /* defined(__cplusplus) */
#ifndef WINSHELLAPI
#ifdef _SHELL32_
# define WINSHELLAPI
#else
# define WINSHELLAPI DECLSPEC_IMPORT
#endif
#endif
#ifndef _WIN64
#include <pshpack1.h>
#endif
......@@ -52,12 +60,12 @@ typedef struct _DRAGINFOW
DECL_WINELIB_TYPE_AW(DRAGINFO)
DECL_WINELIB_TYPE_AW(LPDRAGINFO)
void WINAPI DragAcceptFiles(HWND hWnd, BOOL b);
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);
BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p);
WINSHELLAPI void WINAPI DragAcceptFiles(HWND hWnd, BOOL b);
WINSHELLAPI UINT WINAPI DragQueryFileA(HDROP hDrop, UINT lFile, LPSTR lpszFile, UINT lLength);
WINSHELLAPI UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength);
#define DragQueryFile WINELIB_NAME_AW(DragQueryFile)
WINSHELLAPI void WINAPI DragFinish(HDROP h);
WINSHELLAPI BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p);
......@@ -97,7 +105,7 @@ typedef struct _AppBarData
LPARAM lParam;
} APPBARDATA, *PAPPBARDATA;
UINT_PTR WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
WINSHELLAPI UINT_PTR WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
/******************************************
* SHGetFileInfo
......@@ -140,15 +148,15 @@ typedef struct tagSHFILEINFOW
DECL_WINELIB_TYPE_AW(SHFILEINFO)
DWORD_PTR WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
WINSHELLAPI DWORD_PTR WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
WINSHELLAPI DWORD_PTR WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
#define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
/******************************************
* SHGetImageList
*/
HRESULT WINAPI SHGetImageList(INT, REFIID, void **);
WINSHELLAPI HRESULT WINAPI SHGetImageList(INT, REFIID, void **);
#define SHIL_LARGE 0x0
#define SHIL_SMALL 0x1
......@@ -222,8 +230,8 @@ typedef struct _SHFILEOPSTRUCTW
#define SHFILEOPSTRUCT WINELIB_NAME_AW(SHFILEOPSTRUCT)
#define LPSHFILEOPSTRUCT WINELIB_NAME_AW(LPSHFILEOPSTRUCT)
int WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp);
int WINAPI SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp);
WINSHELLAPI int WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp);
WINSHELLAPI int WINAPI SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp);
#define SHFileOperation WINELIB_NAME_AW(SHFileOperation)
typedef struct _SHNAMEMAPPINGA
......@@ -245,15 +253,15 @@ typedef struct _SHNAMEMAPPINGW
DECL_WINELIB_TYPE_AW(SHNAMEMAPPING)
DECL_WINELIB_TYPE_AW(LPSHNAMEMAPPING)
void WINAPI SHFreeNameMappings(HANDLE hNameMappings);
WINSHELLAPI void WINAPI SHFreeNameMappings(HANDLE hNameMappings);
/******************************************
* ShellExecute
*/
HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
#define ShellExecute WINELIB_NAME_AW(ShellExecute)
WINSHELLAPI HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
WINSHELLAPI HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
#define ShellExecute WINELIB_NAME_AW(ShellExecute)
#define SE_ERR_FNF 2 /* file not found */
#define SE_ERR_PNF 3 /* path not found */
......@@ -336,12 +344,12 @@ typedef struct _SHELLEXECUTEINFOW
#define SHELLEXECUTEINFO WINELIB_NAME_AW(SHELLEXECUTEINFO)
#define LPSHELLEXECUTEINFO WINELIB_NAME_AW(LPSHELLEXECUTEINFO)
BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo);
BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo);
WINSHELLAPI BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo);
WINSHELLAPI BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo);
#define ShellExecuteEx WINELIB_NAME_AW(ShellExecuteEx)
void WINAPI WinExecErrorA(HWND hwnd,INT error, LPCSTR lpstrFileName, LPCSTR lpstrTitle);
void WINAPI WinExecErrorW(HWND hwnd,INT error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle);
WINSHELLAPI void WINAPI WinExecErrorA(HWND hwnd,INT error, LPCSTR lpstrFileName, LPCSTR lpstrTitle);
WINSHELLAPI void WINAPI WinExecErrorW(HWND hwnd,INT error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle);
#define WinExecError WINELIB_NAME_AW(WinExecError)
/******************************************
......@@ -445,12 +453,11 @@ typedef struct _NOTIFYICONIDENTIFIER
DECL_WINELIB_TYPE_AW(NOTIFYICONDATA)
DECL_WINELIB_TYPE_AW(PNOTIFYICONDATA)
BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData);
BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData);
WINSHELLAPI BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData);
WINSHELLAPI BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData);
#define Shell_NotifyIcon WINELIB_NAME_AW(Shell_NotifyIcon)
HRESULT WINAPI Shell_NotifyIconGetRect(const NOTIFYICONIDENTIFIER* identifier, RECT* iconLocation);
WINSHELLAPI HRESULT WINAPI Shell_NotifyIconGetRect(const NOTIFYICONIDENTIFIER* identifier, RECT* iconLocation);
/* pre IE 5.0 */
#define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64])
......@@ -474,9 +481,9 @@ HRESULT WINAPI Shell_NotifyIconGetRect(const NOTIFYICONIDENTIFIER* identifier, R
#define SHGNLI_NOUNIQUE 0x04
#define SHGNLI_NOLNK 0x08
BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL*,UINT);
BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL*,UINT);
#define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
WINSHELLAPI BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL*,UINT);
WINSHELLAPI BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL*,UINT);
#define SHGetNewLinkInfo WINELIB_NAME_AW(SHGetNewLinkInfo)
/******************************************
* Recycle bin
......@@ -489,11 +496,11 @@ typedef struct _SHQUERYRBINFO
DWORDLONG i64NumItems;
} SHQUERYRBINFO, *LPSHQUERYRBINFO;
HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
WINSHELLAPI HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
WINSHELLAPI HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
#define SHEmptyRecycleBin WINELIB_NAME_AW(SHEmptyRecycleBin)
HRESULT WINAPI SHQueryRecycleBinA(LPCSTR,LPSHQUERYRBINFO);
HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR,LPSHQUERYRBINFO);
WINSHELLAPI HRESULT WINAPI SHQueryRecycleBinA(LPCSTR,LPSHQUERYRBINFO);
WINSHELLAPI HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR,LPSHQUERYRBINFO);
#define SHQueryRecycleBin WINELIB_NAME_AW(SHQueryRecycleBin)
/******************************************
......@@ -535,7 +542,7 @@ typedef enum
QUNS_APP = 7
} QUERY_USER_NOTIFICATION_STATE;
HRESULT WINAPI SHQueryUserNotificationState(QUERY_USER_NOTIFICATION_STATE*);
WINSHELLAPI HRESULT WINAPI SHQueryUserNotificationState(QUERY_USER_NOTIFICATION_STATE*);
typedef enum SHSTOCKICONID
{
......@@ -663,38 +670,36 @@ typedef struct _SHSTOCKICONINFO
#define SHGSI_SMALLICON SHGFI_SMALLICON
#define SHGSI_SHELLICONSIZE SHGFI_SHELLICONSIZE
HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID, UINT, SHSTOCKICONINFO*);
LPWSTR* WINAPI CommandLineToArgvW(LPCWSTR,int*);
HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
#define ExtractIcon WINELIB_NAME_AW(ExtractIcon)
HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD);
HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD);
#define ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
HICON WINAPI ExtractAssociatedIconExA(HINSTANCE,LPSTR,LPWORD,LPWORD);
HICON WINAPI ExtractAssociatedIconExW(HINSTANCE,LPWSTR,LPWORD,LPWORD);
#define ExtractAssociatedIconEx WINELIB_NAME_AW(ExtractAssociatedIconEx)
UINT WINAPI ExtractIconExA(LPCSTR,INT,HICON*,HICON*,UINT);
UINT WINAPI ExtractIconExW(LPCWSTR,INT,HICON*,HICON*,UINT);
#define ExtractIconEx WINELIB_NAME_AW(ExtractIconEx)
HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
#define FindExecutable WINELIB_NAME_AW(FindExecutable)
BOOL WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
BOOL WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
#define ShellAbout WINELIB_NAME_AW(ShellAbout)
int WINAPIV ShellMessageBoxA(HINSTANCE,HWND,LPCSTR,LPCSTR,UINT,...);
int WINAPIV ShellMessageBoxW(HINSTANCE,HWND,LPCWSTR,LPCWSTR,UINT,...);
#define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
DWORD WINAPI DoEnvironmentSubstA(LPSTR, UINT);
DWORD WINAPI DoEnvironmentSubstW(LPWSTR, UINT);
#define DoEnvironmentSubst WINELIB_NAME_AW(DoEnvironmentSubst)
HRESULT WINAPI SHEnumerateUnreadMailAccountsA(HKEY,DWORD,LPSTR,INT);
HRESULT WINAPI SHEnumerateUnreadMailAccountsW(HKEY,DWORD,LPWSTR,INT);
#define SHEnumerateUnreadMailAccounts WINELIB_NAME_AW(SHEnumerateUnreadMailAccounts)
HRESULT WINAPI SHGetPropertyStoreForWindow(HWND,REFIID,void **);
WINSHELLAPI HRESULT WINAPI SHGetStockIconInfo(SHSTOCKICONID, UINT, SHSTOCKICONINFO*);
WINSHELLAPI LPWSTR* WINAPI CommandLineToArgvW(LPCWSTR,int*);
WINSHELLAPI HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
WINSHELLAPI HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
#define ExtractIcon WINELIB_NAME_AW(ExtractIcon)
WINSHELLAPI HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD);
WINSHELLAPI HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD);
#define ExtractAssociatedIcon WINELIB_NAME_AW(ExtractAssociatedIcon)
WINSHELLAPI HICON WINAPI ExtractAssociatedIconExA(HINSTANCE,LPSTR,LPWORD,LPWORD);
WINSHELLAPI HICON WINAPI ExtractAssociatedIconExW(HINSTANCE,LPWSTR,LPWORD,LPWORD);
#define ExtractAssociatedIconEx WINELIB_NAME_AW(ExtractAssociatedIconEx)
WINSHELLAPI UINT WINAPI ExtractIconExA(LPCSTR,INT,HICON*,HICON*,UINT);
WINSHELLAPI UINT WINAPI ExtractIconExW(LPCWSTR,INT,HICON*,HICON*,UINT);
#define ExtractIconEx WINELIB_NAME_AW(ExtractIconEx)
WINSHELLAPI HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
WINSHELLAPI HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
#define FindExecutable WINELIB_NAME_AW(FindExecutable)
WINSHELLAPI BOOL WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
WINSHELLAPI BOOL WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
#define ShellAbout WINELIB_NAME_AW(ShellAbout)
WINSHELLAPI int WINAPIV ShellMessageBoxA(HINSTANCE,HWND,LPCSTR,LPCSTR,UINT,...);
WINSHELLAPI int WINAPIV ShellMessageBoxW(HINSTANCE,HWND,LPCWSTR,LPCWSTR,UINT,...);
#define ShellMessageBox WINELIB_NAME_AW(ShellMessageBox)
WINSHELLAPI DWORD WINAPI DoEnvironmentSubstA(LPSTR, UINT);
WINSHELLAPI DWORD WINAPI DoEnvironmentSubstW(LPWSTR, UINT);
#define DoEnvironmentSubst WINELIB_NAME_AW(DoEnvironmentSubst)
WINSHELLAPI HRESULT WINAPI SHEnumerateUnreadMailAccountsA(HKEY,DWORD,LPSTR,INT);
WINSHELLAPI HRESULT WINAPI SHEnumerateUnreadMailAccountsW(HKEY,DWORD,LPWSTR,INT);
#define SHEnumerateUnreadMailAccounts WINELIB_NAME_AW(SHEnumerateUnreadMailAccounts)
WINSHELLAPI HRESULT WINAPI SHGetPropertyStoreForWindow(HWND,REFIID,void **);
#ifdef __cplusplus
} /* extern "C" */
......
......@@ -34,6 +34,14 @@
extern "C" {
#endif /* defined(__cplusplus) */
#ifndef WINSHELLAPI
#ifdef _SHELL32_
# define WINSHELLAPI
#else
# define WINSHELLAPI DECLSPEC_IMPORT
#endif
#endif
/* Except for specific structs, this header is byte packed */
#include <pshpack1.h>
......@@ -66,58 +74,59 @@ enum
typedef int GPFIDL_FLAGS;
UINT WINAPI SHAddFromPropSheetExtArray(HPSXA,LPFNADDPROPSHEETPAGE,LPARAM);
LPVOID WINAPI SHAlloc(ULONG) __WINE_ALLOC_SIZE(1);
HRESULT WINAPI SHCoCreateInstance(LPCWSTR,const CLSID*,IUnknown*,REFIID,LPVOID*);
HPSXA WINAPI SHCreatePropSheetExtArray(HKEY,LPCWSTR,UINT);
HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*);
HRESULT WINAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker**);
HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST,IShellFolder*,LPCITEMIDLIST,IShellItem**);
DWORD WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*);
DWORD WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*);
#define SHCLSIDFromString WINELIB_NAME_AW(SHCLSIDFromString)
HRESULT WINAPI SHCreateStdEnumFmtEtc(DWORD,const FORMATETC *,IEnumFORMATETC**);
void WINAPI SHDestroyPropSheetExtArray(HPSXA);
BOOL WINAPI SHFindFiles(LPCITEMIDLIST,LPCITEMIDLIST);
DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
void WINAPI SHFree(LPVOID);
BOOL WINAPI GetFileNameFromBrowse(HWND,LPWSTR,DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
HRESULT WINAPI SHGetInstanceExplorer(IUnknown**);
HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir)
HRESULT WINAPI SHGetKnownFolderIDList(REFKNOWNFOLDERID,DWORD,HANDLE,PIDLIST_ABSOLUTE*);
HRESULT WINAPI SHGetKnownFolderItem(REFKNOWNFOLDERID,KNOWN_FOLDER_FLAG,HANDLE,REFIID,void**);
HRESULT WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID,DWORD,HANDLE,PWSTR*);
BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
BOOL WINAPI SHGetPathFromIDListEx(PCIDLIST_ABSOLUTE,WCHAR*,DWORD,GPFIDL_FLAGS);
INT WINAPI SHHandleUpdateImage(LPCITEMIDLIST);
HRESULT WINAPI SHILCreateFromPath(LPCWSTR,LPITEMIDLIST*,DWORD*);
HRESULT WINAPI SHLoadOLE(LPARAM);
HRESULT WINAPI SHOpenFolderAndSelectItems(PCIDLIST_ABSOLUTE,UINT,PCUITEMID_CHILD_ARRAY,DWORD);
HRESULT WINAPI SHParseDisplayName(LPCWSTR,IBindCtx*,LPITEMIDLIST*,SFGAOF,SFGAOF*);
HRESULT WINAPI SHPathPrepareForWriteA(HWND,IUnknown*,LPCSTR,DWORD);
HRESULT WINAPI SHPathPrepareForWriteW(HWND,IUnknown*,LPCWSTR,DWORD);
#define SHPathPrepareForWrite WINELIB_NAME_AW(SHPathPrepareForWrite)
UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA,UINT,LPFNADDPROPSHEETPAGE,LPARAM);
LPITEMIDLIST WINAPI SHSimpleIDListFromPath(LPCWSTR);
BOOL WINAPI SHRunControlPanel(LPCWSTR, HWND);
int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder*,LPCITEMIDLIST,int*);
HRESULT WINAPI SHStartNetConnectionDialog(HWND,LPCSTR,DWORD);
VOID WINAPI SHUpdateImageA(LPCSTR,INT,UINT,INT);
VOID WINAPI SHUpdateImageW(LPCWSTR,INT,UINT,INT);
#define SHUpdateImage WINELIB_NAME_AW(SHUpdateImage)
int WINAPI RestartDialog(HWND,LPCWSTR,DWORD);
int WINAPI RestartDialogEx(HWND,LPCWSTR,DWORD,DWORD);
int WINAPI DriveType(int);
int WINAPI RealDriveType(int, BOOL);
int WINAPI IsNetDrive(int);
BOOL WINAPI IsUserAnAdmin(void);
UINT WINAPI Shell_MergeMenus(HMENU,HMENU,UINT,UINT,UINT,ULONG);
BOOL WINAPI Shell_GetImageLists(HIMAGELIST*,HIMAGELIST*);
BOOL WINAPI SignalFileOpen(PCIDLIST_ABSOLUTE);
WINSHELLAPI UINT WINAPI SHAddFromPropSheetExtArray(HPSXA,LPFNADDPROPSHEETPAGE,LPARAM);
WINSHELLAPI LPVOID WINAPI SHAlloc(ULONG) __WINE_ALLOC_SIZE(1);
WINSHELLAPI HRESULT WINAPI SHCoCreateInstance(LPCWSTR,const CLSID*,IUnknown*,REFIID,LPVOID*);
WINSHELLAPI HPSXA WINAPI SHCreatePropSheetExtArray(HKEY,LPCWSTR,UINT);
WINSHELLAPI HPSXA WINAPI SHCreatePropSheetExtArrayEx(HKEY,LPCWSTR,UINT,IDataObject*);
WINSHELLAPI HRESULT WINAPI SHCreateQueryCancelAutoPlayMoniker(IMoniker**);
WINSHELLAPI HRESULT WINAPI SHCreateShellItem(LPCITEMIDLIST,IShellFolder*,LPCITEMIDLIST,IShellItem**);
WINSHELLAPI DWORD WINAPI SHCLSIDFromStringA(LPCSTR,CLSID*);
WINSHELLAPI DWORD WINAPI SHCLSIDFromStringW(LPCWSTR,CLSID*);
#define SHCLSIDFromString WINELIB_NAME_AW(SHCLSIDFromString)
WINSHELLAPI HRESULT WINAPI SHCreateStdEnumFmtEtc(DWORD,const FORMATETC *,IEnumFORMATETC**);
WINSHELLAPI void WINAPI SHDestroyPropSheetExtArray(HPSXA);
WINSHELLAPI BOOL WINAPI SHFindFiles(LPCITEMIDLIST,LPCITEMIDLIST);
WINSHELLAPI DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
WINSHELLAPI void WINAPI SHFree(LPVOID);
WINSHELLAPI BOOL WINAPI GetFileNameFromBrowse(HWND,LPWSTR,DWORD,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
WINSHELLAPI HRESULT WINAPI SHGetInstanceExplorer(IUnknown**);
WINSHELLAPI HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
WINSHELLAPI HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir)
WINSHELLAPI HRESULT WINAPI SHGetKnownFolderIDList(REFKNOWNFOLDERID,DWORD,HANDLE,PIDLIST_ABSOLUTE*);
WINSHELLAPI HRESULT WINAPI SHGetKnownFolderItem(REFKNOWNFOLDERID,KNOWN_FOLDER_FLAG,HANDLE,REFIID,void**);
WINSHELLAPI HRESULT WINAPI SHGetKnownFolderPath(REFKNOWNFOLDERID,DWORD,HANDLE,PWSTR*);
WINSHELLAPI BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
WINSHELLAPI BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
WINSHELLAPI BOOL WINAPI SHGetPathFromIDListEx(PCIDLIST_ABSOLUTE,WCHAR*,DWORD,GPFIDL_FLAGS);
WINSHELLAPI INT WINAPI SHHandleUpdateImage(LPCITEMIDLIST);
WINSHELLAPI HRESULT WINAPI SHILCreateFromPath(LPCWSTR,LPITEMIDLIST*,DWORD*);
WINSHELLAPI HRESULT WINAPI SHLoadOLE(LPARAM);
WINSHELLAPI HRESULT WINAPI SHOpenFolderAndSelectItems(PCIDLIST_ABSOLUTE,UINT,PCUITEMID_CHILD_ARRAY,DWORD);
WINSHELLAPI HRESULT WINAPI SHParseDisplayName(LPCWSTR,IBindCtx*,LPITEMIDLIST*,SFGAOF,SFGAOF*);
WINSHELLAPI HRESULT WINAPI SHPathPrepareForWriteA(HWND,IUnknown*,LPCSTR,DWORD);
WINSHELLAPI HRESULT WINAPI SHPathPrepareForWriteW(HWND,IUnknown*,LPCWSTR,DWORD);
#define SHPathPrepareForWrite WINELIB_NAME_AW(SHPathPrepareForWrite)
WINSHELLAPI UINT WINAPI SHReplaceFromPropSheetExtArray(HPSXA,UINT,LPFNADDPROPSHEETPAGE,LPARAM);
WINSHELLAPI LPITEMIDLIST WINAPI SHSimpleIDListFromPath(LPCWSTR);
WINSHELLAPI BOOL WINAPI SHRunControlPanel(LPCWSTR, HWND);
WINSHELLAPI int WINAPI SHMapPIDLToSystemImageListIndex(IShellFolder*,LPCITEMIDLIST,int*);
WINSHELLAPI HRESULT WINAPI SHStartNetConnectionDialog(HWND,LPCSTR,DWORD);
WINSHELLAPI VOID WINAPI SHUpdateImageA(LPCSTR,INT,UINT,INT);
WINSHELLAPI VOID WINAPI SHUpdateImageW(LPCWSTR,INT,UINT,INT);
#define SHUpdateImage WINELIB_NAME_AW(SHUpdateImage)
WINSHELLAPI int WINAPI RestartDialog(HWND,LPCWSTR,DWORD);
WINSHELLAPI int WINAPI RestartDialogEx(HWND,LPCWSTR,DWORD,DWORD);
WINSHELLAPI int WINAPI DriveType(int);
WINSHELLAPI int WINAPI RealDriveType(int, BOOL);
WINSHELLAPI int WINAPI IsNetDrive(int);
WINSHELLAPI BOOL WINAPI IsUserAnAdmin(void);
WINSHELLAPI UINT WINAPI Shell_MergeMenus(HMENU,HMENU,UINT,UINT,UINT,ULONG);
WINSHELLAPI BOOL WINAPI Shell_GetImageLists(HIMAGELIST*,HIMAGELIST*);
WINSHELLAPI BOOL WINAPI SignalFileOpen(PCIDLIST_ABSOLUTE);
BOOL WINAPI ImportPrivacySettings(LPCWSTR, BOOL*, BOOL*);
#define SHFMT_ERROR __MSABI_LONG(0xFFFFFFFF) /* Error on last format, drive may be formattable */
......@@ -147,7 +156,7 @@ BOOL WINAPI ImportPrivacySettings(LPCWSTR, BOOL*, BOOL*);
#define OFASI_EDIT 0x0001
#define OFASI_OPENDESKTOP 0x0002
BOOL WINAPI SHObjectProperties(HWND,DWORD,LPCWSTR,LPCWSTR);
WINSHELLAPI BOOL WINAPI SHObjectProperties(HWND,DWORD,LPCWSTR,LPCWSTR);
#define PCS_FATAL 0x80000000
#define PCS_REPLACEDCHAR 0x00000001
......@@ -155,7 +164,7 @@ BOOL WINAPI SHObjectProperties(HWND,DWORD,LPCWSTR,LPCWSTR);
#define PCS_TRUNCATED 0x00000004
#define PCS_PATHTOOLONG 0x00000008
int WINAPI PathCleanupSpec(LPCWSTR,LPWSTR);
WINSHELLAPI int WINAPI PathCleanupSpec(LPCWSTR,LPWSTR);
/* SHOpenWithDialog API */
......@@ -179,7 +188,7 @@ typedef struct
} OPENASINFO;
#include <poppack.h>
HRESULT WINAPI SHOpenWithDialog(HWND,const OPENASINFO*);
WINSHELLAPI HRESULT WINAPI SHOpenWithDialog(HWND,const OPENASINFO*);
/* Shell_MergeMenus flags */
#define MM_ADDSEPARATOR 0x00000001
......@@ -861,7 +870,7 @@ DECLARE_INTERFACE_(IActiveDesktop, IUnknown)
#define SHARD_PATHW __MSABI_LONG(0x00000003)
#define SHARD_PATH WINELIB_NAME_AW(SHARD_PATH)
void WINAPI SHAddToRecentDocs(UINT,LPCVOID);
WINSHELLAPI void WINAPI SHAddToRecentDocs(UINT,LPCVOID);
/****************************************************************************
* SHBrowseForFolder API
......@@ -932,8 +941,8 @@ typedef struct tagBROWSEINFOW {
#define BFFM_SETOKTEXT (WM_USER+105)
#define BFFM_SETEXPANDED (WM_USER+106)
LPITEMIDLIST WINAPI SHBrowseForFolderA(LPBROWSEINFOA lpbi);
LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi);
WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolderA(LPBROWSEINFOA lpbi);
WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolderW(LPBROWSEINFOW lpbi);
#define SHBrowseForFolder WINELIB_NAME_AW(SHBrowseForFolder)
#define BFFM_SETSTATUSTEXT WINELIB_NAME_AW(BFFM_SETSTATUSTEXT)
#define BFFM_SETSELECTION WINELIB_NAME_AW(BFFM_SETSELECTION)
......@@ -966,7 +975,7 @@ typedef struct _CSFV
#include <poppack.h>
HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
WINSHELLAPI HRESULT WINAPI SHCreateShellFolderViewEx(LPCSFV pshfvi, IShellView **ppshv);
/* SHCreateShellFolderViewEx callback messages */
#define SFVM_MERGEMENU 1
......@@ -1038,7 +1047,7 @@ typedef struct _SFV_CREATE
#include <poppack.h>
HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pscfv, IShellView **ppsv);
WINSHELLAPI HRESULT WINAPI SHCreateShellFolderView(const SFV_CREATE *pscfv, IShellView **ppsv);
/* Types and definitions for the SFM_* parameters */
#include <pshpack8.h>
......@@ -1086,10 +1095,7 @@ typedef struct _TBINFO
* SHShellFolderView_Message API
*/
LRESULT WINAPI SHShellFolderView_Message(
HWND hwndCabinet,
UINT uMessage,
LPARAM lParam);
WINSHELLAPI LRESULT WINAPI SHShellFolderView_Message(HWND hwndCabinet, UINT uMessage, LPARAM lParam);
/* SHShellFolderView_Message messages */
#define SFVM_REARRANGE 0x0001
......@@ -1153,15 +1159,15 @@ typedef struct _SHDESCRIPTIONID
#include <poppack.h>
HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
WINSHELLAPI HRESULT WINAPI SHGetDataFromIDListA(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
WINSHELLAPI HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
#define SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList)
BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate);
BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate);
WINSHELLAPI BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate);
WINSHELLAPI BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate);
#define SHGetSpecialFolderPath WINELIB_NAME_AW(SHGetSpecialFolderPath)
HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
WINSHELLAPI HRESULT WINAPI SHGetMalloc(LPMALLOC *lpmal) ;
/**********************************************************************
* SHGetSetSettings ()
......@@ -1226,7 +1232,7 @@ typedef struct
UINT :15; /* Required for proper binary layout with gcc */
} SHELLFLAGSTATE, * LPSHELLFLAGSTATE;
VOID WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
WINSHELLAPI VOID WINAPI SHGetSettings(LPSHELLFLAGSTATE lpsfs, DWORD dwMask);
#define SSF_SHOWALLOBJECTS 0x0001
#define SSF_SHOWEXTENSIONS 0x0002
......@@ -1415,7 +1421,7 @@ typedef enum RESTRICTIONS
REST_NOFILEASSOCIATE, /* 0x41000003 */
} RESTRICTIONS;
DWORD WINAPI SHRestricted(RESTRICTIONS rest);
WINSHELLAPI DWORD WINAPI SHRestricted(RESTRICTIONS rest);
/****************************************************************************
* SHChangeNotify API
......@@ -1476,7 +1482,7 @@ typedef struct _SHChangeNotifyEntry
#define SHCNRF_RecursiveInterrupt 0x1000
#define SHCNRF_NewDelivery 0x8000
void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
WINSHELLAPI void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID dwItem2);
typedef enum
{
......@@ -1596,22 +1602,22 @@ typedef struct _SHChangeProductKeyAsIDList {
USHORT cbZero;
} SHChangeProductKeyAsIDList, *LPSHChangeProductKeyAsIDList;
ULONG WINAPI SHChangeNotifyRegister(HWND hwnd, int fSources, LONG fEvents, UINT wMsg,
int cEntries, SHChangeNotifyEntry *pshcne);
BOOL WINAPI SHChangeNotifyDeregister(ULONG ulID);
HANDLE WINAPI SHChangeNotification_Lock(HANDLE hChangeNotification, DWORD dwProcessId,
LPITEMIDLIST **pppidl, LONG *plEvent);
BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock);
WINSHELLAPI ULONG WINAPI SHChangeNotifyRegister(HWND hwnd, int fSources, LONG fEvents, UINT wMsg,
int cEntries, SHChangeNotifyEntry *pshcne);
WINSHELLAPI BOOL WINAPI SHChangeNotifyDeregister(ULONG ulID);
WINSHELLAPI HANDLE WINAPI SHChangeNotification_Lock(HANDLE hChangeNotification, DWORD dwProcessId,
LPITEMIDLIST **pppidl, LONG *plEvent);
WINSHELLAPI BOOL WINAPI SHChangeNotification_Unlock(HANDLE hLock);
HRESULT WINAPI SHGetRealIDL(IShellFolder *psf, LPCITEMIDLIST pidlSimple, LPITEMIDLIST * ppidlReal);
WINSHELLAPI HRESULT WINAPI SHGetRealIDL(IShellFolder *psf, LPCITEMIDLIST pidlSimple, LPITEMIDLIST * ppidlReal);
/****************************************************************************
* SHCreateDirectory API
*/
DWORD WINAPI SHCreateDirectory(HWND, LPCVOID);
int WINAPI SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES);
int WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES);
#define SHCreateDirectoryEx WINELIB_NAME_AW(SHCreateDirectoryEx)
WINSHELLAPI DWORD WINAPI SHCreateDirectory(HWND, LPCVOID);
WINSHELLAPI int WINAPI SHCreateDirectoryExA(HWND, LPCSTR, LPSECURITY_ATTRIBUTES);
WINSHELLAPI int WINAPI SHCreateDirectoryExW(HWND, LPCWSTR, LPSECURITY_ATTRIBUTES);
#define SHCreateDirectoryEx WINELIB_NAME_AW(SHCreateDirectoryEx)
/****************************************************************************
* SHGetSetFolderCustomSettings API
......@@ -1651,13 +1657,13 @@ typedef struct {
} SHFOLDERCUSTOMSETTINGS, *LPSHFOLDERCUSTOMSETTINGS;
#include <poppack.h>
HRESULT WINAPI SHGetSetFolderCustomSettings(LPSHFOLDERCUSTOMSETTINGS pfcs, PCWSTR pszPath, DWORD dwReadWrite);
WINSHELLAPI HRESULT WINAPI SHGetSetFolderCustomSettings(LPSHFOLDERCUSTOMSETTINGS pfcs, PCWSTR pszPath, DWORD dwReadWrite);
/****************************************************************************
* SHGetSpecialFolderLocation API
*/
HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, int nFolder, LPITEMIDLIST * ppidl);
HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl);
WINSHELLAPI HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, int nFolder, LPITEMIDLIST * ppidl);
WINSHELLAPI HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl);
/****************************************************************************
* SHGetFolderPath API
......@@ -1667,9 +1673,9 @@ typedef enum {
SHGFP_TYPE_DEFAULT = 1
} SHGFP_TYPE;
HRESULT WINAPI SHGetFolderPathA(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwFlags, LPSTR pszPath);
HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);
#define SHGetFolderPath WINELIB_NAME_AW(SHGetFolderPath)
WINSHELLAPI HRESULT WINAPI SHGetFolderPathA(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwFlags, LPSTR pszPath);
WINSHELLAPI HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwFlags, LPWSTR pszPath);
#define SHGetFolderPath WINELIB_NAME_AW(SHGetFolderPath)
#define CSIDL_DESKTOP 0x0000
#define CSIDL_INTERNET 0x0001
......@@ -1740,21 +1746,21 @@ HRESULT WINAPI SHGetFolderPathW(HWND hwnd, int nFolder, HANDLE hToken, DWORD dwF
/****************************************************************************
* SHGetDesktopFolder API
*/
HRESULT WINAPI SHGetDesktopFolder(IShellFolder * *);
WINSHELLAPI HRESULT WINAPI SHGetDesktopFolder(IShellFolder * *);
/****************************************************************************
* SHBindToParent API
*/
HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);
WINSHELLAPI HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);
/****************************************************************************
* SHDefExtractIcon API
*/
HRESULT WINAPI SHDefExtractIconA(LPCSTR pszIconFile, int iIndex, UINT uFlags,
HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize);
HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags,
HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize);
#define SHDefExtractIcon WINELIB_NAME_AW(SHDefExtractIcon)
WINSHELLAPI HRESULT WINAPI SHDefExtractIconA(LPCSTR pszIconFile, int iIndex, UINT uFlags,
HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize);
WINSHELLAPI HRESULT WINAPI SHDefExtractIconW(LPCWSTR pszIconFile, int iIndex, UINT uFlags,
HICON* phiconLarge, HICON* phiconSmall, UINT nIconSize);
#define SHDefExtractIcon WINELIB_NAME_AW(SHDefExtractIcon)
/*
* DROPFILES for CF_HDROP and CF_PRINTERS
......@@ -1840,8 +1846,8 @@ typedef struct {
#define CABINETSTATE_VERSION 2
BOOL WINAPI ReadCabinetState(CABINETSTATE *, int);
BOOL WINAPI WriteCabinetState(CABINETSTATE *);
WINSHELLAPI BOOL WINAPI ReadCabinetState(CABINETSTATE *, int);
WINSHELLAPI BOOL WINAPI WriteCabinetState(CABINETSTATE *);
/****************************************************************************
* Path Manipulation Routines
......@@ -1863,11 +1869,11 @@ BOOL WINAPI WriteCabinetState(CABINETSTATE *);
#define PRF_DONTFINDLNK 0x08
#define PRF_REQUIREABSOLUTE 0x10
VOID WINAPI PathGetShortPath(LPWSTR pszPath);
LONG WINAPI PathProcessCommand(LPCWSTR, LPWSTR, int, DWORD);
int WINAPI PathResolve(LPWSTR, PZPCWSTR, UINT);
BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
BOOL WINAPI Win32DeleteFile(LPCWSTR);
WINSHELLAPI VOID WINAPI PathGetShortPath(LPWSTR pszPath);
WINSHELLAPI LONG WINAPI PathProcessCommand(LPCWSTR, LPWSTR, int, DWORD);
WINSHELLAPI int WINAPI PathResolve(LPWSTR, PZPCWSTR, UINT);
WINSHELLAPI BOOL WINAPI PathYetAnotherMakeUniqueName(LPWSTR, LPCWSTR, LPCWSTR, LPCWSTR);
WINSHELLAPI BOOL WINAPI Win32DeleteFile(LPCWSTR);
/****************************************************************************
* Drag And Drop Routines
......@@ -1884,13 +1890,13 @@ typedef struct
DWORD dwTimes[NUM_POINTS];
} AUTO_SCROLL_DATA;
BOOL WINAPI DAD_SetDragImage(HIMAGELIST,LPPOINT);
BOOL WINAPI DAD_DragEnterEx(HWND,POINT);
BOOL WINAPI DAD_DragEnterEx2(HWND,POINT,IDataObject*);
BOOL WINAPI DAD_DragMove(POINT);
BOOL WINAPI DAD_DragLeave(void);
BOOL WINAPI DAD_AutoScroll(HWND,AUTO_SCROLL_DATA*,LPPOINT);
HRESULT WINAPI SHDoDragDrop(HWND,IDataObject*,IDropSource*,DWORD,LPDWORD);
WINSHELLAPI BOOL WINAPI DAD_SetDragImage(HIMAGELIST,LPPOINT);
WINSHELLAPI BOOL WINAPI DAD_DragEnterEx(HWND,POINT);
WINSHELLAPI BOOL WINAPI DAD_DragEnterEx2(HWND,POINT,IDataObject*);
WINSHELLAPI BOOL WINAPI DAD_DragMove(POINT);
WINSHELLAPI BOOL WINAPI DAD_DragLeave(void);
WINSHELLAPI BOOL WINAPI DAD_AutoScroll(HWND,AUTO_SCROLL_DATA*,LPPOINT);
WINSHELLAPI HRESULT WINAPI SHDoDragDrop(HWND,IDataObject*,IDropSource*,DWORD,LPDWORD);
/****************************************************************************
* Internet shortcut properties
......@@ -1909,23 +1915,23 @@ HRESULT WINAPI SHDoDragDrop(HWND,IDataObject*,IDropSource*,DWORD,LPDWORD);
#define PID_IS_COMMENT 13
LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST,LPCSHITEMID,BOOL);
LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST);
LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST);
LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR);
LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR);
#define ILCreateFromPath WINELIB_NAME_AW(ILCreateFromPath)
LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST,LPCITEMIDLIST);
LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST,LPCITEMIDLIST);
LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST);
void WINAPI ILFree(LPITEMIDLIST);
LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST);
UINT WINAPI ILGetSize(LPCITEMIDLIST);
BOOL WINAPI ILIsEqual(LPCITEMIDLIST,LPCITEMIDLIST);
BOOL WINAPI ILIsParent(LPCITEMIDLIST,LPCITEMIDLIST,BOOL);
HRESULT WINAPI ILLoadFromStream(LPSTREAM,LPITEMIDLIST*);
BOOL WINAPI ILRemoveLastID(LPITEMIDLIST);
HRESULT WINAPI ILSaveToStream(LPSTREAM,LPCITEMIDLIST);
WINSHELLAPI LPITEMIDLIST WINAPI ILAppendID(LPITEMIDLIST,LPCSHITEMID,BOOL);
WINSHELLAPI LPITEMIDLIST WINAPI ILClone(LPCITEMIDLIST);
WINSHELLAPI LPITEMIDLIST WINAPI ILCloneFirst(LPCITEMIDLIST);
WINSHELLAPI LPITEMIDLIST WINAPI ILCreateFromPathA(LPCSTR);
WINSHELLAPI LPITEMIDLIST WINAPI ILCreateFromPathW(LPCWSTR);
#define ILCreateFromPath WINELIB_NAME_AW(ILCreateFromPath)
WINSHELLAPI LPITEMIDLIST WINAPI ILCombine(LPCITEMIDLIST,LPCITEMIDLIST);
WINSHELLAPI LPITEMIDLIST WINAPI ILFindChild(LPCITEMIDLIST,LPCITEMIDLIST);
WINSHELLAPI LPITEMIDLIST WINAPI ILFindLastID(LPCITEMIDLIST);
WINSHELLAPI void WINAPI ILFree(LPITEMIDLIST);
WINSHELLAPI LPITEMIDLIST WINAPI ILGetNext(LPCITEMIDLIST);
WINSHELLAPI UINT WINAPI ILGetSize(LPCITEMIDLIST);
WINSHELLAPI BOOL WINAPI ILIsEqual(LPCITEMIDLIST,LPCITEMIDLIST);
WINSHELLAPI BOOL WINAPI ILIsParent(LPCITEMIDLIST,LPCITEMIDLIST,BOOL);
WINSHELLAPI HRESULT WINAPI ILLoadFromStream(LPSTREAM,LPITEMIDLIST*);
WINSHELLAPI BOOL WINAPI ILRemoveLastID(LPITEMIDLIST);
WINSHELLAPI HRESULT WINAPI ILSaveToStream(LPSTREAM,LPCITEMIDLIST);
static inline BOOL ILIsEmpty(LPCITEMIDLIST pidl)
{
......@@ -1948,17 +1954,17 @@ typedef struct {
#include <poppack.h>
HRESULT WINAPI SHCreateDefaultContextMenu(const DEFCONTEXTMENU *pdcm, REFIID riid, void **ppv);
WINSHELLAPI HRESULT WINAPI SHCreateDefaultContextMenu(const DEFCONTEXTMENU *pdcm, REFIID riid, void **ppv);
typedef HRESULT (CALLBACK *LPFNDFMCALLBACK)(IShellFolder*,HWND,IDataObject*,UINT,WPARAM,LPARAM);
HRESULT WINAPI CDefFolderMenu_Create2(LPCITEMIDLIST pidlFolder, HWND hwnd, UINT cidl,
LPCITEMIDLIST *apidl, IShellFolder *psf,
LPFNDFMCALLBACK lpfn, UINT nKeys, const HKEY *ahkeys,
IContextMenu **ppcm);
WINSHELLAPI HRESULT WINAPI CDefFolderMenu_Create2(LPCITEMIDLIST pidlFolder, HWND hwnd, UINT cidl,
LPCITEMIDLIST *apidl, IShellFolder *psf,
LPFNDFMCALLBACK lpfn, UINT nKeys, const HKEY *ahkeys,
IContextMenu **ppcm);
int WINAPI PickIconDlg(HWND owner, WCHAR *path, UINT path_len, int *index);
HRESULT WINAPI SHLimitInputEdit(HWND hwnd, IShellFolder *folder);
WINSHELLAPI int WINAPI PickIconDlg(HWND owner, WCHAR *path, UINT path_len, int *index);
WINSHELLAPI HRESULT WINAPI SHLimitInputEdit(HWND hwnd, IShellFolder *folder);
#include <poppack.h>
......
......@@ -37,6 +37,13 @@ import "shobjidl_core.idl";
cpp_quote("/* FIXME: #include <sherrors.h> */")
cpp_quote("#ifndef WINSHELLAPI")
cpp_quote("#ifdef _SHELL32_")
cpp_quote("# define WINSHELLAPI")
cpp_quote("#else")
cpp_quote("# define WINSHELLAPI DECLSPEC_IMPORT")
cpp_quote("#endif")
cpp_quote("#endif")
/*****************************************************************************
* IPersistFolder interface
......@@ -654,18 +661,18 @@ typedef [v1_enum] enum DATAOBJ_GET_ITEM_FLAGS
} DATAOBJ_GET_ITEM_FLAGS;
cpp_quote("DEFINE_ENUM_FLAG_OPERATORS(DATAOBJ_GET_ITEM_FLAGS)")
cpp_quote("HRESULT WINAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);")
cpp_quote("HRESULT WINAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHCreateItemFromRelativeName(IShellItem *parent, PCWSTR name, IBindCtx *pbc, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);")
cpp_quote("HRESULT WINAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder* psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);")
cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY pidl_array, IShellItemArray **psia);")
cpp_quote("HRESULT WINAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID rfid, DWORD flags, PCWSTR filename, REFIID riid, void **ppv);")
cpp_quote("HRESULT WINAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHGetNameFromIDList(PCIDLIST_ABSOLUTE pidl, SIGDN sigdnName, PWSTR *ppszName);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateItemFromParsingName(PCWSTR pszPath, IBindCtx *pbc, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateItemFromIDList(PCIDLIST_ABSOLUTE pidl, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateItemFromRelativeName(IShellItem *parent, PCWSTR name, IBindCtx *pbc, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHGetItemFromDataObject(IDataObject *pdtobj, DATAOBJ_GET_ITEM_FLAGS dwFlags, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHGetIDListFromObject(IUnknown *punk, PIDLIST_ABSOLUTE *ppidl);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHGetItemFromObject(IUnknown *punk, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateShellItemArray(PCIDLIST_ABSOLUTE pidlParent, IShellFolder* psf, UINT cidl, PCUITEMID_CHILD_ARRAY ppidl, IShellItemArray **ppsiItemArray);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateShellItemArrayFromShellItem(IShellItem *psi, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateShellItemArrayFromIDLists(UINT cidl, PCIDLIST_ABSOLUTE_ARRAY pidl_array, IShellItemArray **psia);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateItemInKnownFolder(REFKNOWNFOLDERID rfid, DWORD flags, PCWSTR filename, REFIID riid, void **ppv);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHCreateShellItemArrayFromDataObject(IDataObject *pdo, REFIID riid, void **ppv);")
/*****************************************************************************
* IShellItemFilter interface
......@@ -3791,7 +3798,7 @@ typedef enum ASSOC_FILTER
ASSOC_FILTER_NONE = 0,
ASSOC_FILTER_RECOMMENDED
} ASSOC_FILTER;
cpp_quote("HRESULT WINAPI SHAssocEnumHandlers(PCWSTR extra, ASSOC_FILTER filter, IEnumAssocHandlers **handlersenum);")
cpp_quote("WINSHELLAPI HRESULT WINAPI SHAssocEnumHandlers(PCWSTR extra, ASSOC_FILTER filter, IEnumAssocHandlers **handlersenum);")
[
uuid(1df0d7f1-b267-4d28-8b10-12e23202a5c4),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment