Changed ICOM_THIS definition.

diff --git a/ole/ifs.c b/ole/ifs.c
index e092824..5621548 100644
--- a/ole/ifs.c
+++ b/ole/ifs.c
@@ -18,44 +18,51 @@
 #include "module.h"
 #include "debug.h"
 
+#include "ifs.h"
 
 /* --- IUnknown implementation */
 
+typedef struct
+{
+    /* IUnknown fields */
+    ICOM_VTABLE(IUnknown)* lpvtbl;
+    DWORD                  ref;
+} IUnknownImpl;
 
 /******************************************************************************
  *		IUnknown_AddRef	[VTABLE:IUNKNOWN.1]
  */
 static ULONG WINAPI IUnknown_fnAddRef(LPUNKNOWN iface) { 
-	ICOM_THIS(IUnknown,iface);
-	TRACE(relay,"(%p)->AddRef()\n",this);
-	return ++(this->ref);
+	ICOM_THIS(IUnknownImpl,iface);
+	TRACE(relay,"(%p)->AddRef()\n",This);
+	return ++(This->ref);
 }
 
 /******************************************************************************
  * IUnknown_Release [VTABLE:IUNKNOWN.2]
  */
 static ULONG WINAPI IUnknown_fnRelease(LPUNKNOWN iface) {
-	ICOM_THIS(IUnknown,iface);
-	TRACE(relay,"(%p)->Release()\n",this);
-	if (!--(this->ref)) {
-		HeapFree(GetProcessHeap(),0,this);
+	ICOM_THIS(IUnknownImpl,iface);
+	TRACE(relay,"(%p)->Release()\n",This);
+	if (!--(This->ref)) {
+		HeapFree(GetProcessHeap(),0,This);
 		return 0;
 	}
-	return this->ref;
+	return This->ref;
 }
 
 /******************************************************************************
  * IUnknown_QueryInterface [VTABLE:IUNKNOWN.0]
  */
 static HRESULT WINAPI IUnknown_fnQueryInterface(LPUNKNOWN iface,REFIID refiid,LPVOID *obj) {
-	ICOM_THIS(IUnknown,iface);
+	ICOM_THIS(IUnknownImpl,iface);
 	char	xrefiid[50];
 
 	WINE_StringFromCLSID((LPCLSID)refiid,xrefiid);
-	TRACE(relay,"(%p)->QueryInterface(%s,%p)\n",this,xrefiid,obj);
+	TRACE(relay,"(%p)->QueryInterface(%s,%p)\n",This,xrefiid,obj);
 
 	if (!memcmp(&IID_IUnknown,refiid,sizeof(IID_IUnknown))) {
-		*obj = this;
+		*obj = This;
 		return 0; 
 	}
 	return OLE_E_ENUM_NOMORE; 
@@ -72,9 +79,9 @@
  */
 LPUNKNOWN
 IUnknown_Constructor() {
-	_IUnknown*	unk;
+	IUnknownImpl*	unk;
 
-	unk = (_IUnknown*)HeapAlloc(GetProcessHeap(),0,sizeof(IUnknown));
+	unk = (IUnknownImpl*)HeapAlloc(GetProcessHeap(),0,sizeof(IUnknownImpl));
 	unk->lpvtbl	= &uvt;
 	unk->ref	= 1;
 	return (LPUNKNOWN)unk;
@@ -84,7 +91,8 @@
 /* --- IMalloc16 implementation */
 
 
-typedef struct _IMalloc16 {
+typedef struct
+{
         /* IUnknown fields */
         ICOM_VTABLE(IMalloc16)* lpvtbl;
         DWORD                   ref;
@@ -93,21 +101,21 @@
          * heaps
  */
         HGLOBAL16 heap;
-} _IMalloc16;
+} IMalloc16Impl;
 
 /******************************************************************************
  *		IMalloc16_QueryInterface	[COMPOBJ.500]
  */
 HRESULT WINAPI IMalloc16_fnQueryInterface(IMalloc16* iface,REFIID refiid,LPVOID *obj) {
-        ICOM_THIS(IMalloc16,iface);
+        ICOM_THIS(IMalloc16Impl,iface);
 	char	xrefiid[50];
 
 	WINE_StringFromCLSID((LPCLSID)refiid,xrefiid);
-	TRACE(relay,"(%p)->QueryInterface(%s,%p)\n",this,xrefiid,obj);
+	TRACE(relay,"(%p)->QueryInterface(%s,%p)\n",This,xrefiid,obj);
 	if (	!memcmp(&IID_IUnknown,refiid,sizeof(IID_IUnknown)) ||
 		!memcmp(&IID_IMalloc,refiid,sizeof(IID_IMalloc))
 	) {
-		*obj = this;
+		*obj = This;
 		return 0;
 	}
 	return OLE_E_ENUM_NOMORE; 
@@ -117,8 +125,8 @@
  *		IMalloc16_AddRef	[COMPOBJ.501]
  */
 ULONG WINAPI IMalloc16_fnAddRef(IMalloc16* iface) {
-        ICOM_THIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->AddRef()\n",this);
+        ICOM_THIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->AddRef()\n",This);
 	return 1; /* cannot be freed */
 }
 
@@ -126,8 +134,8 @@
  *		IMalloc16_Release	[COMPOBJ.502]
  */
 ULONG WINAPI IMalloc16_fnRelease(IMalloc16* iface) {
-        ICOM_THIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->Release()\n",this);
+        ICOM_THIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->Release()\n",This);
 	return 1; /* cannot be freed */
 }
 
@@ -135,36 +143,36 @@
  * IMalloc16_Alloc [COMPOBJ.503]
  */
 LPVOID WINAPI IMalloc16_fnAlloc(IMalloc16* iface,DWORD cb) {
-        ICOM_THIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->Alloc(%ld)\n",this,cb);
-	return (LPVOID)PTR_SEG_OFF_TO_SEGPTR(this->heap,LOCAL_Alloc(this->heap,0,cb));
+        ICOM_THIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->Alloc(%ld)\n",This,cb);
+	return (LPVOID)PTR_SEG_OFF_TO_SEGPTR(This->heap,LOCAL_Alloc(This->heap,0,cb));
 }
 
 /******************************************************************************
  * IMalloc16_Realloc [COMPOBJ.504]
  */
 LPVOID WINAPI IMalloc16_fnRealloc(IMalloc16* iface,LPVOID pv,DWORD cb) {
-        ICOM_THIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->Realloc(%p,%ld)\n",this,pv,cb);
-	return (LPVOID)PTR_SEG_OFF_TO_SEGPTR(this->heap,LOCAL_ReAlloc(this->heap,0,LOWORD(pv),cb));
+        ICOM_THIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->Realloc(%p,%ld)\n",This,pv,cb);
+	return (LPVOID)PTR_SEG_OFF_TO_SEGPTR(This->heap,LOCAL_ReAlloc(This->heap,0,LOWORD(pv),cb));
 }
 
 /******************************************************************************
  * IMalloc16_Free [COMPOBJ.505]
  */
 VOID WINAPI IMalloc16_fnFree(IMalloc16* iface,LPVOID pv) {
-        ICOM_THIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->Free(%p)\n",this,pv);
-	LOCAL_Free(this->heap,LOWORD(pv));
+        ICOM_THIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->Free(%p)\n",This,pv);
+	LOCAL_Free(This->heap,LOWORD(pv));
 }
 
 /******************************************************************************
  * IMalloc16_GetSize [COMPOBJ.506]
  */
 DWORD WINAPI IMalloc16_fnGetSize(const IMalloc16* iface,LPVOID pv) {
-	ICOM_CTHIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->GetSize(%p)\n",this,pv);
-	return LOCAL_Size(this->heap,LOWORD(pv));
+	ICOM_CTHIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->GetSize(%p)\n",This,pv);
+	return LOCAL_Size(This->heap,LOWORD(pv));
 }
 
 /******************************************************************************
@@ -172,7 +180,7 @@
  */
 INT16 WINAPI IMalloc16_fnDidAlloc(const IMalloc16* iface,LPVOID pv) {
         ICOM_CTHIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->DidAlloc(%p)\n",this,pv);
+	TRACE(relay,"(%p)->DidAlloc(%p)\n",This,pv);
 	return (INT16)-1;
 }
 
@@ -180,8 +188,8 @@
  * IMalloc16_HeapMinimize [COMPOBJ.508]
  */
 LPVOID WINAPI IMalloc16_fnHeapMinimize(IMalloc16* iface) {
-        ICOM_THIS(IMalloc16,iface);
-	TRACE(relay,"(%p)->HeapMinimize()\n",this);
+        ICOM_THIS(IMalloc16Impl,iface);
+	TRACE(relay,"(%p)->HeapMinimize()\n",This);
 	return NULL;
 }
 
@@ -192,12 +200,12 @@
  */
 LPMALLOC16
 IMalloc16_Constructor() {
-	_IMalloc16*	this;
+	IMalloc16Impl*	This;
         HMODULE16	hcomp = GetModuleHandle16("COMPOBJ");
 
-	this = (_IMalloc16*)SEGPTR_NEW(_IMalloc16);
+	This = (IMalloc16Impl*)SEGPTR_NEW(IMalloc16Impl);
         if (!msegvt16) {
-            this->lpvtbl = msegvt16 = SEGPTR_NEW(ICOM_VTABLE(IMalloc16));
+            This->lpvtbl = msegvt16 = SEGPTR_NEW(ICOM_VTABLE(IMalloc16));
 
 #define VTENT(x) msegvt16->fn##x = (void*)WIN32_GetProcAddress16(hcomp,"IMalloc16_"#x);assert(msegvt16->fn##x)
             VTENT(QueryInterface);
@@ -212,35 +220,36 @@
             msegvt16 = (ICOM_VTABLE(IMalloc16)*)SEGPTR_GET(msegvt16);
 #undef VTENT
 	}
-	this->ref = 1;
+	This->ref = 1;
 	/* FIXME: implement multiple heaps */
-	this->heap = GlobalAlloc16(GMEM_MOVEABLE,64000);
-	LocalInit(this->heap,0,64000);
-	return (LPMALLOC16)SEGPTR_GET(this);
+	This->heap = GlobalAlloc16(GMEM_MOVEABLE,64000);
+	LocalInit(This->heap,0,64000);
+	return (LPMALLOC16)SEGPTR_GET(This);
 }
 
 
 /* --- IMalloc32 implementation */
 
-typedef struct _IMalloc32 {
+typedef struct
+{
         /* IUnknown fields */
         ICOM_VTABLE(IMalloc32)* lpvtbl;
         DWORD                   ref;
-} _IMalloc32;
+} IMalloc32Impl;
 
 /******************************************************************************
  *		IMalloc32_QueryInterface	[VTABLE]
  */
 static HRESULT WINAPI IMalloc32_fnQueryInterface(LPMALLOC32 iface,REFIID refiid,LPVOID *obj) {
-	ICOM_THIS(IMalloc32,iface);
+	ICOM_THIS(IMalloc32Impl,iface);
 	char	xrefiid[50];
 
 	WINE_StringFromCLSID((LPCLSID)refiid,xrefiid);
-	TRACE(relay,"(%p)->QueryInterface(%s,%p)\n",this,xrefiid,obj);
+	TRACE(relay,"(%p)->QueryInterface(%s,%p)\n",This,xrefiid,obj);
 	if (	!memcmp(&IID_IUnknown,refiid,sizeof(IID_IUnknown)) ||
 		!memcmp(&IID_IMalloc,refiid,sizeof(IID_IMalloc))
 	) {
-		*obj = this;
+		*obj = This;
 		return S_OK;
 	}
 	return OLE_E_ENUM_NOMORE; 
@@ -250,8 +259,8 @@
  *		IMalloc32_AddRef	[VTABLE]
  */
 static ULONG WINAPI IMalloc32_fnAddRef(LPMALLOC32 iface) {
-	ICOM_THIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->AddRef()\n",this);
+	ICOM_THIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->AddRef()\n",This);
 	return 1; /* cannot be freed */
 }
 
@@ -259,8 +268,8 @@
  *		IMalloc32_Release	[VTABLE]
  */
 static ULONG WINAPI IMalloc32_fnRelease(LPMALLOC32 iface) {
-	ICOM_THIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->Release()\n",this);
+	ICOM_THIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->Release()\n",This);
 	return 1; /* cannot be freed */
 }
 
@@ -268,8 +277,8 @@
  * IMalloc32_Alloc [VTABLE]
  */
 static LPVOID WINAPI IMalloc32_fnAlloc(LPMALLOC32 iface,DWORD cb) {
-	ICOM_THIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->Alloc(%ld)\n",this,cb);
+	ICOM_THIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->Alloc(%ld)\n",This,cb);
 	return HeapAlloc(GetProcessHeap(),0,cb);
 }
 
@@ -277,8 +286,8 @@
  * IMalloc32_Realloc [VTABLE]
  */
 static LPVOID WINAPI IMalloc32_fnRealloc(LPMALLOC32 iface,LPVOID pv,DWORD cb) {
-	ICOM_THIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->Realloc(%p,%ld)\n",this,pv,cb);
+	ICOM_THIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->Realloc(%p,%ld)\n",This,pv,cb);
 	return HeapReAlloc(GetProcessHeap(),0,pv,cb);
 }
 
@@ -286,8 +295,8 @@
  * IMalloc32_Free [VTABLE]
  */
 static VOID WINAPI IMalloc32_fnFree(LPMALLOC32 iface,LPVOID pv) {
-	ICOM_THIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->Free(%p)\n",this,pv);
+	ICOM_THIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->Free(%p)\n",This,pv);
 	HeapFree(GetProcessHeap(),0,pv);
 }
 
@@ -296,7 +305,7 @@
  */
 static DWORD WINAPI IMalloc32_fnGetSize(const IMalloc32* iface,LPVOID pv) {
 	ICOM_CTHIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->GetSize(%p)\n",this,pv);
+	TRACE(relay,"(%p)->GetSize(%p)\n",This,pv);
 	return HeapSize(GetProcessHeap(),0,pv);
 }
 
@@ -304,8 +313,8 @@
  * IMalloc32_DidAlloc [VTABLE]
  */
 static INT32 WINAPI IMalloc32_fnDidAlloc(const IMalloc32* iface,LPVOID pv) {
-	ICOM_CTHIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->DidAlloc(%p)\n",this,pv);
+	ICOM_CTHIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->DidAlloc(%p)\n",This,pv);
 	return -1;
 }
 
@@ -313,8 +322,8 @@
  * IMalloc32_HeapMinimize [VTABLE]
  */
 static LPVOID WINAPI IMalloc32_fnHeapMinimize(LPMALLOC32 iface) {
-	ICOM_THIS(IMalloc32,iface);
-	TRACE(relay,"(%p)->HeapMinimize()\n",this);
+	ICOM_THIS(IMalloc32Impl,iface);
+	TRACE(relay,"(%p)->HeapMinimize()\n",This);
 	return NULL;
 }
 
@@ -335,12 +344,12 @@
  */
 LPMALLOC32
 IMalloc32_Constructor() {
-	_IMalloc32* this;
+	IMalloc32Impl* This;
 
-	this = (_IMalloc32*)HeapAlloc(GetProcessHeap(),0,sizeof(_IMalloc32));
-	this->lpvtbl = &VT_IMalloc32;
-	this->ref = 1;
-	return (LPMALLOC32)this;
+	This = (IMalloc32Impl*)HeapAlloc(GetProcessHeap(),0,sizeof(IMalloc32Impl));
+	This->lpvtbl = &VT_IMalloc32;
+	This->ref = 1;
+	return (LPMALLOC32)This;
 }
 
 /****************************************************************************