2 * defines helperfunctions to manipulate the contents of a IShellFolder
6 #ifndef __WINE_SHELLFOLDER_HELP_H
7 #define __WINE_SHELLFOLDER_HELP_H
12 #include "wine/obj_base.h"
13 #include "wine/obj_shellfolder.h"
16 /*****************************************************************************
17 * Predeclare the interfaces
19 DEFINE_GUID(IID_ISFHelper
, 0x1fe68efbL
, 0x1874, 0x9812, 0x56, 0xdc, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00);
20 typedef struct ISFHelper ISFHelper
, *LPISFHELPER
;
22 /*****************************************************************************
26 #define ICOM_INTERFACE ISFHelper
27 #define ISFHelper_METHODS \
28 ICOM_METHOD2 (HRESULT, GetUniqueName, LPSTR, lpName, UINT, uLen) \
29 ICOM_METHOD3 (HRESULT, AddFolder, HWND, hwnd, LPCSTR, lpName, LPITEMIDLIST*, ppidlOut) \
30 ICOM_METHOD2 (HRESULT, DeleteItems, UINT, cidl, LPCITEMIDLIST*, apidl) \
31 ICOM_METHOD3 (HRESULT, CopyItems, IShellFolder*, pSFFrom, UINT, cidl, LPCITEMIDLIST*, apidl)
32 #define ISFHelper_IMETHODS \
35 ICOM_DEFINE(ISFHelper
, IUnknown
)
38 /*** IUnknown methods ***/
39 #define ISFHelper_QueryInterface(p,a,b) ICOM_CALL2(QueryInterface,p,a,b)
40 #define ISFHelper_AddRef(p) ICOM_CALL (AddRef,p)
41 #define ISFHelper_Release(p) ICOM_CALL (Release,p)
42 /*** ISFHelper methods ***/
43 #define ISFHelper_GetUniqueName(p,a,b) ICOM_CALL2(GetUniqueName,p,a,b)
44 #define ISFHelper_AddFolder(p,a,b,c) ICOM_CALL3(AddFolder,p,a,b,c)
45 #define ISFHelper_DeleteItems(p,a,b) ICOM_CALL2(DeleteItems,p,a,b)
46 #define ISFHelper_CopyItems(p,a,b,c) ICOM_CALL3(CopyItems,p,a,b,c)
48 #endif /* __WINE_SHELLFOLDER_HELP_H */