Simplified COM interface declarations, removing the need to define
both an xxx_METHODS and an xxx_IMETHODS macro.

diff --git a/include/shlwapi.h b/include/shlwapi.h
index 918238f..fb0f3f0 100644
--- a/include/shlwapi.h
+++ b/include/shlwapi.h
@@ -245,14 +245,12 @@
 
 #define INTERFACE IQueryAssociations
 #define IQueryAssociations_METHODS \
+    IUnknown_METHODS \
     STDMETHOD(Init)(THIS_ ASSOCF  flags, LPCWSTR  pszAssoc, HKEY  hkProgid, HWND  hwnd) PURE; \
     STDMETHOD(GetString)(THIS_ ASSOCF  flags, ASSOCSTR  str, LPCWSTR  pszExtra, LPWSTR  pszOut, DWORD * pcchOut) PURE; \
     STDMETHOD(GetKey)(THIS_ ASSOCF  flags, ASSOCKEY  key, LPCWSTR  pszExtra, HKEY * phkeyOut) PURE; \
     STDMETHOD(GetData)(THIS_ ASSOCF  flags, ASSOCDATA  data, LPCWSTR  pszExtra, LPVOID  pvOut, DWORD * pcbOut) PURE; \
     STDMETHOD(GetEnum)(THIS_ ASSOCF  flags, ASSOCENUM  assocenum, LPCWSTR  pszExtra, REFIID  riid, LPVOID * ppvOut) PURE;
-#define IQueryAssociations_IMETHODS \
-        IUnknown_IMETHODS \
-        IQueryAssociations_METHODS
 ICOM_DEFINE(IQueryAssociations,IUnknown)
 #undef INTERFACE
 
@@ -843,7 +841,7 @@
 
 
 /* Stream functions */
-#if !defined(NO_SHLWAPI_STREAM) && defined(IStream_IMETHODS)
+#if !defined(NO_SHLWAPI_STREAM) && defined(IStream_METHODS)
 
 IStream * WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
 IStream * WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);
@@ -880,7 +878,7 @@
 HRESULT WINAPI SHAutoComplete(HWND,DWORD);
 
 /* Threads */
-#if defined(IUnknown_IMETHODS)
+#if defined(IUnknown_METHODS)
 HRESULT WINAPI SHGetThreadRef(IUnknown**);
 HRESULT WINAPI SHSetThreadRef(IUnknown*);
 #endif
@@ -897,7 +895,7 @@
 
 BOOL WINAPI SHCreateThread(LPTHREAD_START_ROUTINE,void*,DWORD,LPTHREAD_START_ROUTINE);
 
-#if defined(IBindCtx_IMETHODS)
+#if defined(IBindCtx_METHODS)
 BOOL WINAPI SHSkipJunction(IBindCtx*,const CLSID*);
 #endif