Define the COM macros even in C++.
[wine] / include / wine / obj_shellextinit.h
1 /************************************************************
2  *    IShellExtInit
3  */
4
5 #ifndef __WINE_WINE_OBJ_SHELLEXTINIT_H
6 #define __WINE_WINE_OBJ_SHELLEXTINIT_H
7
8 #include "winbase.h"
9 #include "winuser.h"
10 #include "wine/obj_base.h"
11 #include "wine/obj_dataobject.h"
12
13 #ifdef __cplusplus
14 extern "C" {
15 #endif /* defined(__cplusplus) */
16
17 typedef struct  IShellExtInit IShellExtInit, *LPSHELLEXTINIT;
18 DEFINE_SHLGUID(IID_IShellExtInit,       0x000214E8L, 0, 0);
19
20 #define ICOM_INTERFACE IShellExtInit
21 #define IShellExtInit_METHODS \
22         ICOM_METHOD3(HRESULT, Initialize, LPCITEMIDLIST, pidlFolder, LPDATAOBJECT, lpdobj, HKEY, hkeyProgID)
23 #define IShellExtInit_IMETHODS \
24         IUnknown_IMETHODS \
25         IShellExtInit_METHODS
26 ICOM_DEFINE(IShellExtInit,IUnknown)
27 #undef ICOM_INTERFACE
28
29 /*** IUnknown methods ***/
30 #define IShellExtInit_QueryInterface(p,a,b)     ICOM_CALL2(QueryInterface,p,a,b)
31 #define IShellExtInit_AddRef(p)                 ICOM_CALL(AddRef,p)
32 #define IShellExtInit_Release(p)                ICOM_CALL(Release,p)
33 /*** IShellExtInit methods ***/
34 #define IShellExtInit_Initialize(p,a,b,c)       ICOM_CALL3(Initialize,p,a,b,c)
35
36 #ifdef __cplusplus
37 } /* extern "C" */
38 #endif /* defined(__cplusplus) */
39
40 #endif /* __WINE_WINE_OBJ_SHELLEXTINIT_H */