5 * This header is wrapper to allow compilation of Wine DLLs under ReactOS
6 * build system. It contains definitions commonly refered to as Wineisms
7 * and definitions that are missing in w32api.
10 #include_next <shlwapi.h>
12 #ifndef __WINE_SHLWAPI_H
13 #define __WINE_SHLWAPI_H
15 #define INTERFACE IQueryAssociations
16 DECLARE_INTERFACE_(IQueryAssociations
,IUnknown
)
18 /*** IUnknown methods ***/
19 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
20 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
21 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
22 /*** IQueryAssociations methods ***/
23 STDMETHOD(Init
)(THIS_ ASSOCF flags
, LPCWSTR pszAssoc
, HKEY hkProgid
, HWND hwnd
) PURE
;
24 STDMETHOD(GetString
)(THIS_ ASSOCF flags
, ASSOCSTR str
, LPCWSTR pszExtra
, LPWSTR pszOut
, DWORD
* pcchOut
) PURE
;
25 STDMETHOD(GetKey
)(THIS_ ASSOCF flags
, ASSOCKEY key
, LPCWSTR pszExtra
, HKEY
* phkeyOut
) PURE
;
26 STDMETHOD(GetData
)(THIS_ ASSOCF flags
, ASSOCDATA data
, LPCWSTR pszExtra
, LPVOID pvOut
, DWORD
* pcbOut
) PURE
;
27 STDMETHOD(GetEnum
)(THIS_ ASSOCF flags
, ASSOCENUM assocenum
, LPCWSTR pszExtra
, REFIID riid
, LPVOID
* ppvOut
) PURE
;
31 #if !defined(__cplusplus) || defined(CINTERFACE)
32 #define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
33 #define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
34 #define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
35 #define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
36 #define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
37 #define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
38 #define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
39 #define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
42 #endif /* __WINE_SHLWAPI_H */