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 URL_FILE_USE_PATHURL 0x00010000
17 #define INTERFACE IQueryAssociations
18 DECLARE_INTERFACE_(IQueryAssociations
,IUnknown
)
20 /*** IUnknown methods ***/
21 STDMETHOD_(HRESULT
,QueryInterface
)(THIS_ REFIID riid
, void** ppvObject
) PURE
;
22 STDMETHOD_(ULONG
,AddRef
)(THIS
) PURE
;
23 STDMETHOD_(ULONG
,Release
)(THIS
) PURE
;
24 /*** IQueryAssociations methods ***/
25 STDMETHOD(Init
)(THIS_ ASSOCF flags
, LPCWSTR pszAssoc
, HKEY hkProgid
, HWND hwnd
) PURE
;
26 STDMETHOD(GetString
)(THIS_ ASSOCF flags
, ASSOCSTR str
, LPCWSTR pszExtra
, LPWSTR pszOut
, DWORD
* pcchOut
) PURE
;
27 STDMETHOD(GetKey
)(THIS_ ASSOCF flags
, ASSOCKEY key
, LPCWSTR pszExtra
, HKEY
* phkeyOut
) PURE
;
28 STDMETHOD(GetData
)(THIS_ ASSOCF flags
, ASSOCDATA data
, LPCWSTR pszExtra
, LPVOID pvOut
, DWORD
* pcbOut
) PURE
;
29 STDMETHOD(GetEnum
)(THIS_ ASSOCF flags
, ASSOCENUM assocenum
, LPCWSTR pszExtra
, REFIID riid
, LPVOID
* ppvOut
) PURE
;
33 #if !defined(__cplusplus) || defined(CINTERFACE)
34 #define IQueryAssociations_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
35 #define IQueryAssociations_AddRef(p) (p)->lpVtbl->AddRef(p)
36 #define IQueryAssociations_Release(p) (p)->lpVtbl->Release(p)
37 #define IQueryAssociations_Init(p,a,b,c,d) (p)->lpVtbl->Init(p,a,b,c,d)
38 #define IQueryAssociations_GetString(p,a,b,c,d,e) (p)->lpVtbl->GetString(p,a,b,c,d,e)
39 #define IQueryAssociations_GetKey(p,a,b,c,d) (p)->lpVtbl->GetKey(p,a,b,c,d)
40 #define IQueryAssociations_GetData(p,a,b,c,d,e) (p)->lpVtbl->GetData(p,a,b,c,d,e)
41 #define IQueryAssociations_GetEnum(p,a,b,c,d,e) (p)->lpVtbl->GetEnum(p,a,b,c,d,e)
44 #endif /* __WINE_SHLWAPI_H */