Commit in reactos/lib/shell32 on MAIN
autocomplete.c+13-151.2 -> 1.3
cpanelfolder.c+35-401.4 -> 1.5
dataobject.c+24-261.1 -> 1.2
dragdrophelper.c+11-121.1 -> 1.2
enumidlist.c+12-131.6 -> 1.7
folders.c+17-201.4 -> 1.5
memorystream.c+16-171.2 -> 1.3
shelllink.c+36-411.17 -> 1.18
shellole.c+11-131.6 -> 1.7
shfldr_desktop.c+23-241.9 -> 1.10
shfldr_fs.c+20-241.8 -> 1.9
shfldr_mycomp.c+27-291.11 -> 1.12
shlfsbind.c+7-81.6 -> 1.7
shlview.c+33-371.7 -> 1.8
shv_bg_cmenu.c+12-131.3 -> 1.4
shv_item_cmenu.c+14-151.3 -> 1.4
+311-347
16 modified files
Alexandre Julliard <julliard@winehq.org>
- Get rid of the non-standard ICOM_DEFINE macro.
- Get rid of the non-standard ICOM_VFIELD macro.
- Get rid of the non-standard ICOM_VTABLE macro.
- Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
  macro.
- Removed some more uses of the non-standard ICOM_THIS macro.

reactos/lib/shell32
autocomplete.c 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- autocomplete.c	4 Jul 2004 06:56:41 -0000	1.2
+++ autocomplete.c	20 Sep 2004 09:18:52 -0000	1.3
@@ -59,8 +59,8 @@
 
 typedef struct
 {
-    ICOM_VFIELD(IAutoComplete);
-    ICOM_VTABLE (IAutoComplete2) * lpvtblAutoComplete2;
+    IAutoCompleteVtbl  *lpVtbl;
+    IAutoComplete2Vtbl *lpvtblAutoComplete2;
     DWORD ref;
     BOOL  enabled;
     HWND hwndEdit;
@@ -73,8 +73,8 @@
     AUTOCOMPLETEOPTIONS options;
 } IAutoCompleteImpl;
 
-static struct ICOM_VTABLE(IAutoComplete) acvt;
-static struct ICOM_VTABLE(IAutoComplete2) ac2vt;
+static struct IAutoCompleteVtbl acvt;
+static struct IAutoComplete2Vtbl ac2vt;
 
 #define _IAutoComplete2_Offset ((int)(&(((IAutoCompleteImpl*)0)->lpvtblAutoComplete2)))
 #define _ICOM_THIS_From_IAutoComplete2(class, name) class* This = (class*)(((char*)name)-_IAutoComplete2_Offset);
@@ -132,7 +132,7 @@
     REFIID riid,
     LPVOID *ppvObj)
 {
-    ICOM_THIS(IAutoCompleteImpl, iface);
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
     
     TRACE("(%p)->(\n\tIID:\t%s,%p)\n", This, shdebugstr_guid(riid), ppvObj);
     *ppvObj = NULL;
@@ -166,7 +166,7 @@
 static ULONG WINAPI IAutoComplete_fnAddRef(
 	IAutoComplete * iface)
 {
-    ICOM_THIS(IAutoCompleteImpl,iface);
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
     
     TRACE("(%p)->(%lu)\n",This,This->ref);
     return ++(This->ref);
@@ -178,7 +178,7 @@
 static ULONG WINAPI IAutoComplete_fnRelease(
 	IAutoComplete * iface)
 {
-    ICOM_THIS(IAutoCompleteImpl,iface);
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
     
     TRACE("(%p)->(%lu)\n",This,This->ref);
 
@@ -205,7 +205,7 @@
     IAutoComplete * iface,
     BOOL fEnable)
 {
-    ICOM_THIS(IAutoCompleteImpl, iface);
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
 
     HRESULT hr = S_OK;
 
@@ -226,7 +226,7 @@
     LPCOLESTR pwzsRegKeyPath,
     LPCOLESTR pwszQuickComplete)
 {
-    ICOM_THIS(IAutoCompleteImpl, iface);
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)iface;
     static const WCHAR lbName[] = {'L','i','s','t','B','o','x',0};
 
     TRACE("(%p)->(0x%08lx, %p, %s, %s)\n", 
@@ -310,9 +310,8 @@
 /**************************************************************************
  *  IAutoComplete_fnVTable
  */
-static ICOM_VTABLE (IAutoComplete) acvt =
+static IAutoCompleteVtbl acvt =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
     IAutoComplete_fnQueryInterface,
     IAutoComplete_fnAddRef,
     IAutoComplete_fnRelease,
@@ -431,9 +430,8 @@
 /**************************************************************************
  *  IAutoComplete2_fnVTable
  */
-static ICOM_VTABLE (IAutoComplete2) ac2vt =
+static IAutoComplete2Vtbl ac2vt =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
     IAutoComplete2_fnQueryInterface,
     IAutoComplete2_fnAddRef,
     IAutoComplete2_fnRelease,
@@ -449,7 +447,7 @@
  */
 static LRESULT APIENTRY ACEditSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
-    ICOM_THIS(IAutoCompleteImpl, GetWindowLongPtrW(hwnd, GWLP_USERDATA));
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)GetWindowLongPtrW(hwnd, GWLP_USERDATA);
     LPOLESTR strs;
     HRESULT hr;
     WCHAR hwndText[255];
@@ -619,7 +617,7 @@
 
 static LRESULT APIENTRY ACLBoxSubclassProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
 {
-    ICOM_THIS(IAutoCompleteImpl, GetWindowLongPtrW(hwnd, GWLP_USERDATA));
+    IAutoCompleteImpl *This = (IAutoCompleteImpl *)GetWindowLongPtrW(hwnd, GWLP_USERDATA);
     WCHAR *msg;
     int sel = -1, len;
 

reactos/lib/shell32
cpanelfolder.c 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- cpanelfolder.c	11 Apr 2004 13:24:29 -0000	1.4
+++ cpanelfolder.c	20 Sep 2004 09:18:52 -0000	1.5
@@ -57,12 +57,11 @@
 */
 
 typedef struct {
-    ICOM_VFIELD(IShellFolder2);
-    DWORD ref;
-
-    ICOM_VTABLE(IPersistFolder2)* lpVtblPersistFolder2;
-    ICOM_VTABLE(IShellExecuteHookW)* lpVtblShellExecuteHookW;
-    ICOM_VTABLE(IShellExecuteHookA)* lpVtblShellExecuteHookA;
+    IShellFolder2Vtbl      *lpVtbl;
+    DWORD                   ref;
+    IPersistFolder2Vtbl    *lpVtblPersistFolder2;
+    IShellExecuteHookWVtbl *lpVtblShellExecuteHookW;
+    IShellExecuteHookAVtbl *lpVtblShellExecuteHookA;
 
     IUnknown *pUnkOuter;	/* used for aggregation */
 
@@ -71,10 +70,10 @@
     int dwAttributes;		/* attributes returned by GetAttributesOf FIXME: use it */
 } ICPanelImpl;
 
-static ICOM_VTABLE(IShellFolder2) vt_ShellFolder2;
-static ICOM_VTABLE(IPersistFolder2) vt_PersistFolder2;
-static ICOM_VTABLE(IShellExecuteHookW) vt_ShellExecuteHookW;
-static ICOM_VTABLE(IShellExecuteHookA) vt_ShellExecuteHookA;
+static IShellFolder2Vtbl vt_ShellFolder2;
+static IPersistFolder2Vtbl vt_PersistFolder2;
+static IShellExecuteHookWVtbl vt_ShellExecuteHookW;
+static IShellExecuteHookAVtbl vt_ShellExecuteHookA;
 
 #define _IPersistFolder2_Offset	    ((int)(&(((ICPanelImpl*)0)->lpVtblPersistFolder2)))
 #define _ICOM_THIS_From_IPersistFolder2(class, name) class* This = (class*)(((char*)name)-_IPersistFolder2_Offset);
@@ -152,7 +151,7 @@
  */
 static HRESULT WINAPI ISF_ControlPanel_fnQueryInterface(IShellFolder2 * iface, REFIID riid, LPVOID * ppvObject)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)->(%s,%p)\n", This, shdebugstr_guid(riid), ppvObject);
 
@@ -180,7 +179,7 @@
 
 static ULONG WINAPI ISF_ControlPanel_fnAddRef(IShellFolder2 * iface)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -189,7 +188,7 @@
 
 static ULONG WINAPI ISF_ControlPanel_fnRelease(IShellFolder2 * iface)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -213,7 +212,7 @@
 				   LPOLESTR lpszDisplayName,
 				   DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * pdwAttributes)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     HRESULT hr = E_INVALIDARG;
 
@@ -448,7 +447,7 @@
 static HRESULT WINAPI
 ISF_ControlPanel_fnEnumObjects(IShellFolder2 * iface, HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST * ppEnumIDList)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)->(HWND=%p flags=0x%08lx pplist=%p)\n", This, hwndOwner, dwFlags, ppEnumIDList);
 
@@ -468,7 +467,7 @@
 ISF_ControlPanel_fnBindToObject(IShellFolder2 * iface, LPCITEMIDLIST pidl,
 			       LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)->(pidl=%p,%p,%s,%p)\n", This, pidl, pbcReserved, shdebugstr_guid(riid), ppvOut);
 
@@ -482,7 +481,7 @@
 ISF_ControlPanel_fnBindToStorage(IShellFolder2 * iface,
 				LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     FIXME("(%p)->(pidl=%p,%p,%s,%p) stub\n", This, pidl, pbcReserved, shdebugstr_guid(riid), ppvOut);
 
@@ -497,7 +496,7 @@
 static HRESULT WINAPI
 ISF_ControlPanel_fnCompareIDs(IShellFolder2 * iface, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     int nReturn;
 
@@ -513,7 +512,7 @@
 static HRESULT WINAPI
 ISF_ControlPanel_fnCreateViewObject(IShellFolder2 * iface, HWND hwndOwner, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     LPSHELLVIEW pShellView;
     HRESULT hr = E_INVALIDARG;
@@ -547,7 +546,7 @@
 static HRESULT WINAPI
 ISF_ControlPanel_fnGetAttributesOf(IShellFolder2 * iface, UINT cidl, LPCITEMIDLIST * apidl, DWORD * rgfInOut)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     HRESULT hr = S_OK;
 
@@ -587,7 +586,7 @@
 				HWND hwndOwner,
 				UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     LPITEMIDLIST pidl;
     IUnknown *pObj = NULL;
@@ -638,7 +637,7 @@
 */
 static HRESULT WINAPI ISF_ControlPanel_fnGetDisplayNameOf(IShellFolder2 * iface, LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     CHAR szPath[MAX_PATH*2];
     PIDLCPanelStruct* pcpanel;
@@ -703,26 +702,26 @@
 static HRESULT WINAPI ISF_ControlPanel_fnSetNameOf(IShellFolder2 * iface, HWND hwndOwner, LPCITEMIDLIST pidl,	/*simple pidl */
 						  LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST * pPidlOut)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
     FIXME("(%p)->(%p,pidl=%p,%s,%lu,%p)\n", This, hwndOwner, pidl, debugstr_w(lpName), dwFlags, pPidlOut);
     return E_FAIL;
 }
 
 static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultSearchGUID(IShellFolder2 * iface, GUID * pguid)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
     FIXME("(%p)\n", This);
     return E_NOTIMPL;
 }
 static HRESULT WINAPI ISF_ControlPanel_fnEnumSearches(IShellFolder2 * iface, IEnumExtraSearch ** ppenum)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
     FIXME("(%p)\n", This);
     return E_NOTIMPL;
 }
 static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumn(IShellFolder2 * iface, DWORD dwRes, ULONG * pSort, ULONG * pDisplay)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)\n", This);
 
@@ -732,7 +731,7 @@
 }
 static HRESULT WINAPI ISF_ControlPanel_fnGetDefaultColumnState(IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     TRACE("(%p)\n", This);
 
@@ -742,14 +741,14 @@
 }
 static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsEx(IShellFolder2 * iface, LPCITEMIDLIST pidl, const SHCOLUMNID * pscid, VARIANT * pv)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
     FIXME("(%p)\n", This);
     return E_NOTIMPL;
 }
 
 static HRESULT WINAPI ISF_ControlPanel_fnGetDetailsOf(IShellFolder2 * iface, LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS * psd)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
     HRESULT hr;
 
     TRACE("(%p)->(%p %i %p)\n", This, pidl, iColumn, psd);
@@ -781,14 +780,13 @@
 }
 static HRESULT WINAPI ISF_ControlPanel_fnMapColumnToSCID(IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
     FIXME("(%p)\n", This);
     return E_NOTIMPL;
 }
 
-static ICOM_VTABLE(IShellFolder2) vt_ShellFolder2 =
+static IShellFolder2Vtbl vt_ShellFolder2 =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 
     ISF_ControlPanel_fnQueryInterface,
     ISF_ControlPanel_fnAddRef,
@@ -893,9 +891,8 @@
     return S_OK;
 }
 
-static ICOM_VTABLE(IPersistFolder2) vt_PersistFolder2 =
+static IPersistFolder2Vtbl vt_PersistFolder2 =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 
     ICPanel_PersistFolder2_QueryInterface,
     ICPanel_PersistFolder2_AddRef,
@@ -965,7 +962,7 @@
 
 static HRESULT WINAPI IShellExecuteHookW_fnExecute(IShellExecuteHookW* iface, LPSHELLEXECUTEINFOW psei)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     SHELLEXECUTEINFOW sei_tmp;
     PIDLCPanelStruct* pcpanel;
@@ -1003,9 +1000,8 @@
 	return S_FALSE;
 }
 
-static ICOM_VTABLE(IShellExecuteHookW) vt_ShellExecuteHookW =
+static IShellExecuteHookWVtbl vt_ShellExecuteHookW =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 
     IShellExecuteHookW_fnQueryInterface,
     IShellExecuteHookW_fnAddRef,
@@ -1048,7 +1044,7 @@
 
 static HRESULT WINAPI IShellExecuteHookA_fnExecute(IShellExecuteHookA* iface, LPSHELLEXECUTEINFOA psei)
 {
-    ICOM_THIS(ICPanelImpl, iface);
+    ICPanelImpl *This = (ICPanelImpl *)iface;
 
     SHELLEXECUTEINFOA sei_tmp;
     PIDLCPanelStruct* pcpanel;
@@ -1083,9 +1079,8 @@
 	return S_FALSE;
 }
 
-static ICOM_VTABLE(IShellExecuteHookA) vt_ShellExecuteHookA =
+static IShellExecuteHookAVtbl vt_ShellExecuteHookA =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 
     IShellExecuteHookA_fnQueryInterface,
     IShellExecuteHookA_fnAddRef,

reactos/lib/shell32
dataobject.c 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- dataobject.c	2 Jan 2004 19:49:45 -0000	1.1
+++ dataobject.c	20 Sep 2004 09:18:52 -0000	1.2
@@ -40,7 +40,7 @@
 typedef struct
 {
     /* IUnknown fields */
-    ICOM_VFIELD(IEnumFORMATETC);
+    IEnumFORMATETCVtbl *lpVtbl;
     DWORD                        ref;
     /* IEnumFORMATETC fields */
     UINT        posFmt;
@@ -56,9 +56,8 @@
 static HRESULT WINAPI IEnumFORMATETC_fnReset(LPENUMFORMATETC iface);
 static HRESULT WINAPI IEnumFORMATETC_fnClone(LPENUMFORMATETC iface, LPENUMFORMATETC* ppenum);
 
-static struct ICOM_VTABLE(IEnumFORMATETC) efvt =
+static struct IEnumFORMATETCVtbl efvt =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
         IEnumFORMATETC_fnQueryInterface,
         IEnumFORMATETC_fnAddRef,
     IEnumFORMATETC_fnRelease,
@@ -95,7 +94,7 @@
 
 static HRESULT WINAPI IEnumFORMATETC_fnQueryInterface(LPENUMFORMATETC iface, REFIID riid, LPVOID* ppvObj)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
 	*ppvObj = NULL;
@@ -122,14 +121,14 @@
 
 static ULONG WINAPI IEnumFORMATETC_fnAddRef(LPENUMFORMATETC iface)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	TRACE("(%p)->(count=%lu)\n",This, This->ref);
 	return ++(This->ref);
 }
 
 static ULONG WINAPI IEnumFORMATETC_fnRelease(LPENUMFORMATETC iface)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	TRACE("(%p)->()\n",This);
 
 	if (!--(This->ref))
@@ -147,7 +146,7 @@
 
 static HRESULT WINAPI IEnumFORMATETC_fnNext(LPENUMFORMATETC iface, ULONG celt, FORMATETC *rgelt, ULONG *pceltFethed)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	UINT i;
 
 	TRACE("(%p)->(%lu,%p)\n", This, celt, rgelt);
@@ -168,7 +167,7 @@
 
 static HRESULT WINAPI IEnumFORMATETC_fnSkip(LPENUMFORMATETC iface, ULONG celt)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	TRACE("(%p)->(num=%lu)\n", This, celt);
 
 	if((This->posFmt + celt) >= This->countFmt) return S_FALSE;
@@ -178,7 +177,7 @@
 
 static HRESULT WINAPI IEnumFORMATETC_fnReset(LPENUMFORMATETC iface)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	TRACE("(%p)->()\n", This);
 
         This->posFmt = 0;
@@ -187,7 +186,7 @@
 
 static HRESULT WINAPI IEnumFORMATETC_fnClone(LPENUMFORMATETC iface, LPENUMFORMATETC* ppenum)
 {
-	ICOM_THIS(IEnumFORMATETCImpl,iface);
+	IEnumFORMATETCImpl *This = (IEnumFORMATETCImpl *)iface;
 	TRACE("(%p)->(ppenum=%p)\n", This, ppenum);
 
 	if (!ppenum) return E_INVALIDARG;
@@ -208,7 +207,7 @@
 typedef struct
 {
 	/* IUnknown fields */
-	ICOM_VFIELD(IDataObject);
+	IDataObjectVtbl *lpVtbl;
 	DWORD		ref;
 
 	/* IDataObject fields */
@@ -223,7 +222,7 @@
 
 } IDataObjectImpl;
 
-static struct ICOM_VTABLE(IDataObject) dtovt;
+static struct IDataObjectVtbl dtovt;
 
 /**************************************************************************
 *  IDataObject_Constructor
@@ -260,7 +259,7 @@
 */
 static HRESULT WINAPI IDataObject_fnQueryInterface(LPDATAOBJECT iface, REFIID riid, LPVOID * ppvObj)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
 	*ppvObj = NULL;
@@ -289,7 +288,7 @@
 */
 static ULONG WINAPI IDataObject_fnAddRef(LPDATAOBJECT iface)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	TRACE("(%p)->(count=%lu)\n",This, This->ref);
 	return ++(This->ref);
 }
@@ -299,7 +298,7 @@
 */
 static ULONG WINAPI IDataObject_fnRelease(LPDATAOBJECT iface)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	TRACE("(%p)->()\n",This);
 
 	if (!--(This->ref))
@@ -318,7 +317,7 @@
 */
 static HRESULT WINAPI IDataObject_fnGetData(LPDATAOBJECT iface, LPFORMATETC pformatetcIn, STGMEDIUM *pmedium)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 
 	char	szTemp[256];
 
@@ -362,14 +361,14 @@
 
 static HRESULT WINAPI IDataObject_fnGetDataHere(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	FIXME("(%p)->()\n", This);
 	return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDataObject_fnQueryGetData(LPDATAOBJECT iface, LPFORMATETC pformatetc)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	UINT i;
 
 	TRACE("(%p)->(fmt=0x%08x tym=0x%08lx)\n", This, pformatetc->cfFormat, pformatetc->tymed);
@@ -392,21 +391,21 @@
 
 static HRESULT WINAPI IDataObject_fnGetCanonicalFormatEtc(LPDATAOBJECT iface, LPFORMATETC pformatectIn, LPFORMATETC pformatetcOut)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	FIXME("(%p)->()\n", This);
 	return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDataObject_fnSetData(LPDATAOBJECT iface, LPFORMATETC pformatetc, STGMEDIUM *pmedium, BOOL fRelease)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	FIXME("(%p)->()\n", This);
 	return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDataObject_fnEnumFormatEtc(LPDATAOBJECT iface, DWORD dwDirection, IEnumFORMATETC **ppenumFormatEtc)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 
 	TRACE("(%p)->()\n", This);
 	*ppenumFormatEtc=NULL;
@@ -423,26 +422,25 @@
 
 static HRESULT WINAPI IDataObject_fnDAdvise(LPDATAOBJECT iface, FORMATETC *pformatetc, DWORD advf, IAdviseSink *pAdvSink, DWORD *pdwConnection)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	FIXME("(%p)->()\n", This);
 	return E_NOTIMPL;
 }
 static HRESULT WINAPI IDataObject_fnDUnadvise(LPDATAOBJECT iface, DWORD dwConnection)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	FIXME("(%p)->()\n", This);
 	return E_NOTIMPL;
 }
 static HRESULT WINAPI IDataObject_fnEnumDAdvise(LPDATAOBJECT iface, IEnumSTATDATA **ppenumAdvise)
 {
-	ICOM_THIS(IDataObjectImpl,iface);
+	IDataObjectImpl *This = (IDataObjectImpl *)iface;
 	FIXME("(%p)->()\n", This);
 	return E_NOTIMPL;
 }
 
-static struct ICOM_VTABLE(IDataObject) dtovt =
+static struct IDataObjectVtbl dtovt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IDataObject_fnQueryInterface,
 	IDataObject_fnAddRef,
 	IDataObject_fnRelease,

reactos/lib/shell32
dragdrophelper.c 1.1 -> 1.2
diff -u -r1.1 -r1.2
--- dragdrophelper.c	2 Jan 2004 19:49:45 -0000	1.1
+++ dragdrophelper.c	20 Sep 2004 09:18:52 -0000	1.2
@@ -46,11 +46,11 @@
 */
 
 typedef struct {
-    ICOM_VFIELD (IDropTargetHelper);
+    IDropTargetHelperVtbl *lpVtbl;
     DWORD ref;
 } IDropTargetHelperImpl;
 
-static struct ICOM_VTABLE (IDropTargetHelper) vt_IDropTargetHelper;
+static struct IDropTargetHelperVtbl vt_IDropTargetHelper;
 
 #define _IUnknown_(This) (IUnknown*)&(This->lpVtbl)
 #define _IDropTargetHelper_(This) (IDropTargetHelper*)&(This->lpVtbl)
@@ -89,7 +89,7 @@
  */
 static HRESULT WINAPI IDropTargetHelper_fnQueryInterface (IDropTargetHelper * iface, REFIID riid, LPVOID * ppvObj)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
 
     TRACE ("(%p)->(%s,%p)\n", This, shdebugstr_guid (riid), ppvObj);
 
@@ -110,7 +110,7 @@
 
 static ULONG WINAPI IDropTargetHelper_fnAddRef (IDropTargetHelper * iface)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -119,7 +119,7 @@
 
 static ULONG WINAPI IDropTargetHelper_fnRelease (IDropTargetHelper * iface)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -138,42 +138,41 @@
 	POINT* ppt,
 	DWORD dwEffect)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
     FIXME ("(%p)->(%p %p %p 0x%08lx)\n", This,hwndTarget, pDataObject, ppt, dwEffect);
     return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDropTargetHelper_fnDragLeave (IDropTargetHelper * iface)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
     FIXME ("(%p)->()\n", This);
     return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDropTargetHelper_fnDragOver (IDropTargetHelper * iface, POINT* ppt, DWORD dwEffect)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
     FIXME ("(%p)->(%p 0x%08lx)\n", This, ppt, dwEffect);
     return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDropTargetHelper_fnDrop (IDropTargetHelper * iface, IDataObject* pDataObject, POINT* ppt, DWORD dwEffect)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
     FIXME ("(%p)->(%p %p 0x%08lx)\n", This, pDataObject, ppt, dwEffect);
     return E_NOTIMPL;
 }
 
 static HRESULT WINAPI IDropTargetHelper_fnShow (IDropTargetHelper * iface, BOOL fShow)
 {
-    ICOM_THIS (IDropTargetHelperImpl, iface);
+    IDropTargetHelperImpl *This = (IDropTargetHelperImpl *)iface;
     FIXME ("(%p)->(%u)\n", This, fShow);
     return E_NOTIMPL;
 }
 
-static ICOM_VTABLE (IDropTargetHelper) vt_IDropTargetHelper =
+static IDropTargetHelperVtbl vt_IDropTargetHelper =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IDropTargetHelper_fnQueryInterface,
 	IDropTargetHelper_fnAddRef,
 	IDropTargetHelper_fnRelease,

reactos/lib/shell32
enumidlist.c 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- enumidlist.c	30 Jun 2004 20:19:25 -0000	1.6
+++ enumidlist.c	20 Sep 2004 09:18:52 -0000	1.7
@@ -45,7 +45,7 @@
 
 typedef struct
 {
-	ICOM_VFIELD(IEnumIDList);
+	IEnumIDListVtbl                *lpVtbl;
 	DWORD				ref;
 	LPENUMLIST			mpFirst;
 	LPENUMLIST			mpLast;
@@ -53,7 +53,7 @@
 
 } IEnumIDListImpl;
 
-static struct ICOM_VTABLE(IEnumIDList) eidlvt;
+static struct IEnumIDListVtbl eidlvt;
 
 /**************************************************************************
  *  AddToEnumList()
@@ -62,7 +62,7 @@
 	IEnumIDList * iface,
 	LPITEMIDLIST pidl)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	LPENUMLIST  pNew;
 
@@ -167,7 +167,7 @@
 static BOOL DeleteList(
 	IEnumIDList * iface)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	LPENUMLIST  pDelete;
 
@@ -211,7 +211,7 @@
 	REFIID riid,
 	LPVOID *ppvObj)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
@@ -240,7 +240,7 @@
 static ULONG WINAPI IEnumIDList_fnAddRef(
 	IEnumIDList * iface)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 	TRACE("(%p)->(%lu)\n",This,This->ref);
 	return ++(This->ref);
 }
@@ -250,7 +250,7 @@
 static ULONG WINAPI IEnumIDList_fnRelease(
 	IEnumIDList * iface)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	TRACE("(%p)->(%lu)\n",This,This->ref);
 
@@ -273,7 +273,7 @@
 	LPITEMIDLIST * rgelt,
 	ULONG *pceltFetched)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	ULONG    i;
 	HRESULT  hr = S_OK;
@@ -318,7 +318,7 @@
 static HRESULT WINAPI IEnumIDList_fnSkip(
 	IEnumIDList * iface,ULONG celt)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	DWORD    dwIndex;
 	HRESULT  hr = S_OK;
@@ -340,7 +340,7 @@
 static HRESULT WINAPI IEnumIDList_fnReset(
 	IEnumIDList * iface)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	TRACE("(%p)\n",This);
 	This->mpCurrent = This->mpFirst;
@@ -352,7 +352,7 @@
 static HRESULT WINAPI IEnumIDList_fnClone(
 	IEnumIDList * iface,LPENUMIDLIST * ppenum)
 {
-	ICOM_THIS(IEnumIDListImpl,iface);
+	IEnumIDListImpl *This = (IEnumIDListImpl *)iface;
 
 	TRACE("(%p)->() to (%p)->() E_NOTIMPL\n",This,ppenum);
 	return E_NOTIMPL;
@@ -361,9 +361,8 @@
 /**************************************************************************
  *  IEnumIDList_fnVTable
  */
-static ICOM_VTABLE (IEnumIDList) eidlvt =
+static IEnumIDListVtbl eidlvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IEnumIDList_fnQueryInterface,
 	IEnumIDList_fnAddRef,
 	IEnumIDList_fnRelease,

reactos/lib/shell32
folders.c 1.4 -> 1.5
diff -u -r1.4 -r1.5
--- folders.c	1 Aug 2004 11:26:13 -0000	1.4
+++ folders.c	20 Sep 2004 09:18:52 -0000	1.5
@@ -44,16 +44,16 @@
 */
 typedef struct
 {
-	ICOM_VFIELD(IExtractIconW);
-	DWORD	ref;
-	ICOM_VTABLE(IPersistFile)*	lpvtblPersistFile;
-	ICOM_VTABLE(IExtractIconA)*	lpvtblExtractIconA;
-	LPITEMIDLIST	pidl;
+	IExtractIconWVtbl *lpVtbl;
+	DWORD              ref;
+	IPersistFileVtbl  *lpvtblPersistFile;
+	IExtractIconAVtbl *lpvtblExtractIconA;
+	LPITEMIDLIST       pidl;
 } IExtractIconWImpl;
 
-static struct ICOM_VTABLE(IExtractIconA) eiavt;
-static struct ICOM_VTABLE(IExtractIconW) eivt;
-static struct ICOM_VTABLE(IPersistFile) pfvt;
+static struct IExtractIconAVtbl eiavt;
+static struct IExtractIconWVtbl eivt;
+static struct IPersistFileVtbl pfvt;
 
 #define _IPersistFile_Offset ((int)(&(((IExtractIconWImpl*)0)->lpvtblPersistFile)))
 #define _ICOM_THIS_From_IPersistFile(class, name) class* This = (class*)(((char*)name)-_IPersistFile_Offset);
@@ -87,7 +87,7 @@
  */
 static HRESULT WINAPI IExtractIconW_fnQueryInterface(IExtractIconW *iface, REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(IExtractIconWImpl, iface);
+	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n", This, debugstr_guid(riid), ppvObj);
 
@@ -125,7 +125,7 @@
 */
 static ULONG WINAPI IExtractIconW_fnAddRef(IExtractIconW * iface)
 {
-	ICOM_THIS(IExtractIconWImpl, iface);
+	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
 
 	TRACE("(%p)->(count=%lu)\n",This, This->ref );
 
@@ -136,7 +136,7 @@
 */
 static ULONG WINAPI IExtractIconW_fnRelease(IExtractIconW * iface)
 {
-	ICOM_THIS(IExtractIconWImpl, iface);
+	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
 
 	TRACE("(%p)->()\n",This);
 
@@ -165,7 +165,7 @@
 	int * piIndex,
 	UINT * pwFlags)		/* returned GIL_ flags */
 {
-	ICOM_THIS(IExtractIconWImpl, iface);
+	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
 
 	char	sTemp[MAX_PATH];
 	DWORD	dwNr;
@@ -328,7 +328,7 @@
 */
 static HRESULT WINAPI IExtractIconW_fnExtract(IExtractIconW * iface, LPCWSTR pszFile, UINT nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIconSize)
 {
-	ICOM_THIS(IExtractIconWImpl, iface);
+	IExtractIconWImpl *This = (IExtractIconWImpl *)iface;
 
 	FIXME("(%p) (file=%p index=%u %p %p size=%u) semi-stub\n", This, debugstr_w(pszFile), nIconIndex, phiconLarge, phiconSmall, nIconSize);
 
@@ -341,9 +341,8 @@
 	return S_OK;
 }
 
-static struct ICOM_VTABLE(IExtractIconW) eivt =
+static struct IExtractIconWVtbl eivt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IExtractIconW_fnQueryInterface,
 	IExtractIconW_fnAddRef,
 	IExtractIconW_fnRelease,
@@ -356,7 +355,7 @@
 */
 IExtractIconA* IExtractIconA_Constructor(LPCITEMIDLIST pidl)
 {
-	ICOM_THIS(IExtractIconWImpl, IExtractIconW_Constructor(pidl));
+	IExtractIconWImpl *This = (IExtractIconWImpl *)IExtractIconW_Constructor(pidl);
 	IExtractIconA *eia = (IExtractIconA *)&This->lpvtblExtractIconA;
 	
 	TRACE("(%p)->(%p)\n", This, eia);
@@ -434,9 +433,8 @@
 	return ret;
 }
 
-static struct ICOM_VTABLE(IExtractIconA) eiavt =
+static struct IExtractIconAVtbl eiavt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IExtractIconA_fnQueryInterface,
 	IExtractIconA_fnAddRef,
 	IExtractIconA_fnRelease,
@@ -507,9 +505,8 @@
 
 }
 
-static struct ICOM_VTABLE(IPersistFile) pfvt =
+static struct IPersistFileVtbl pfvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IEIPersistFile_fnQueryInterface,
 	IEIPersistFile_fnAddRef,
 	IEIPersistFile_fnRelease,

reactos/lib/shell32
memorystream.c 1.2 -> 1.3
diff -u -r1.2 -r1.3
--- memorystream.c	19 Jan 2004 06:56:55 -0000	1.2
+++ memorystream.c	20 Sep 2004 09:18:52 -0000	1.3
@@ -55,9 +55,8 @@
 static HRESULT WINAPI IStream_fnStat (IStream * iface, STATSTG*   pstatstg, DWORD grfStatFlag);
 static HRESULT WINAPI IStream_fnClone (IStream * iface, IStream** ppstm);
 
-static ICOM_VTABLE(IStream) stvt =
+static IStreamVtbl stvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IStream_fnQueryInterface,
 	IStream_fnAddRef,
 	IStream_fnRelease,
@@ -76,7 +75,7 @@
 };
 
 typedef struct
-{	ICOM_VTABLE(IStream)	*lpvtst;
+{	IStreamVtbl	*lpvtst;
 	DWORD		ref;
 	HANDLE		handle;
 } ISHFileStream;
@@ -129,7 +128,7 @@
 */
 static HRESULT WINAPI IStream_fnQueryInterface(IStream *iface, REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
@@ -156,7 +155,7 @@
 */
 static ULONG WINAPI IStream_fnAddRef(IStream *iface)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)->(count=%lu)\n",This, This->ref);
 
@@ -168,7 +167,7 @@
 */
 static ULONG WINAPI IStream_fnRelease(IStream *iface)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)->()\n",This);
 
@@ -183,7 +182,7 @@
 
 static HRESULT WINAPI IStream_fnRead (IStream * iface, void* pv, ULONG cb, ULONG* pcbRead)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)->(%p,0x%08lx,%p)\n",This, pv, cb, pcbRead);
 
@@ -199,7 +198,7 @@
 static HRESULT WINAPI IStream_fnWrite (IStream * iface, const void* pv, ULONG cb, ULONG* pcbWritten)
 {
 	DWORD dummy_count;
-	ICOM_THIS(ISHFileStream, iface);
+ 	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -220,7 +219,7 @@
 {
 	DWORD pos, newposlo, newposhi;
 
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -237,7 +236,7 @@
 
 static HRESULT WINAPI IStream_fnSetSize (IStream * iface, ULARGE_INTEGER libNewSize)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -251,7 +250,7 @@
 }
 static HRESULT WINAPI IStream_fnCopyTo (IStream * iface, IStream* pstm, ULARGE_INTEGER cb, ULARGE_INTEGER* pcbRead, ULARGE_INTEGER* pcbWritten)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -259,7 +258,7 @@
 }
 static HRESULT WINAPI IStream_fnCommit (IStream * iface, DWORD grfCommitFlags)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -267,7 +266,7 @@
 }
 static HRESULT WINAPI IStream_fnRevert (IStream * iface)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -275,7 +274,7 @@
 }
 static HRESULT WINAPI IStream_fnLockRegion (IStream * iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -283,7 +282,7 @@
 }
 static HRESULT WINAPI IStream_fnUnlockRegion (IStream * iface, ULARGE_INTEGER libOffset, ULARGE_INTEGER cb, DWORD dwLockType)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -291,7 +290,7 @@
 }
 static HRESULT WINAPI IStream_fnStat (IStream * iface, STATSTG*   pstatstg, DWORD grfStatFlag)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -299,7 +298,7 @@
 }
 static HRESULT WINAPI IStream_fnClone (IStream * iface, IStream** ppstm)
 {
-	ICOM_THIS(ISHFileStream, iface);
+	ISHFileStream *This = (ISHFileStream *)iface;
 
 	TRACE("(%p)\n",This);
 

reactos/lib/shell32
shelllink.c 1.17 -> 1.18
diff -u -r1.17 -r1.18
--- shelllink.c	13 Apr 2004 20:50:04 -0000	1.17
+++ shelllink.c	20 Sep 2004 09:18:52 -0000	1.18
@@ -112,21 +112,21 @@
 
 #include "poppack.h"
 
-static ICOM_VTABLE(IShellLinkA)		slvt;
-static ICOM_VTABLE(IShellLinkW)		slvtw;
-static ICOM_VTABLE(IPersistFile)	pfvt;
-static ICOM_VTABLE(IPersistStream)	psvt;
+static IShellLinkAVtbl		slvt;
+static IShellLinkWVtbl		slvtw;
+static IPersistFileVtbl	pfvt;
+static IPersistStreamVtbl	psvt;
 
 /* IShellLink Implementation */
 
 typedef struct
 {
-	ICOM_VFIELD(IShellLinkA);
-	DWORD				ref;
+	IShellLinkAVtbl    *lpVtbl;
+	DWORD               ref;
 
-	ICOM_VTABLE(IShellLinkW)*	lpvtblw;
-	ICOM_VTABLE(IPersistFile)*	lpvtblPersistFile;
-	ICOM_VTABLE(IPersistStream)*	lpvtblPersistStream;
+	IShellLinkWVtbl    *lpvtblw;
+	IPersistFileVtbl   *lpvtblPersistFile;
+	IPersistStreamVtbl *lpvtblPersistStream;
 
 	/* data structures according to the informations in the link */
 	LPITEMIDLIST	pPidl;
@@ -155,7 +155,6 @@
 
 #define _IPersistStream_Offset ((int)(&(((IShellLinkImpl*)0)->lpvtblPersistStream)))
 #define _ICOM_THIS_From_IPersistStream(class, name) class* This = (class*)(((char*)name)-_IPersistStream_Offset)
-#define _IPersistStream_From_ICOM_THIS(class, name) class* StreamThis = (class*)(((char*)name)+_IPersistStream_Offset)
 
 static HRESULT ShellLink_UpdatePath(LPWSTR sPathRel, LPCWSTR path, LPCWSTR sWorkDir, LPWSTR* psPath);
 
@@ -229,7 +228,7 @@
 static HRESULT WINAPI IPersistFile_fnLoad(IPersistFile* iface, LPCOLESTR pszFileName, DWORD dwMode)
 {
 	_ICOM_THIS_From_IPersistFile(IShellLinkImpl, iface);
-	_IPersistStream_From_ICOM_THIS(IPersistStream, This);
+	IPersistStream *StreamThis = (IPersistStream *)&This->lpvtblPersistStream;
         HRESULT r;
         IStream *stm;
 
@@ -282,7 +281,7 @@
 static HRESULT WINAPI IPersistFile_fnSave(IPersistFile* iface, LPCOLESTR pszFileName, BOOL fRemember)
 {
     _ICOM_THIS_From_IPersistFile(IShellLinkImpl, iface);
-    _IPersistStream_From_ICOM_THIS(IPersistStream, This);
+    IPersistStream *StreamThis = (IPersistStream *)&This->lpvtblPersistStream;
     HRESULT r;
     IStream *stm;
 
@@ -326,9 +325,8 @@
 	return NOERROR;
 }
 
-static ICOM_VTABLE(IPersistFile) pfvt =
+static IPersistFileVtbl pfvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IPersistFile_fnQueryInterface,
 	IPersistFile_fnAddRef,
 	IPersistFile_fnRelease,
@@ -768,9 +766,8 @@
 	return E_NOTIMPL;
 }
 
-static ICOM_VTABLE(IPersistStream) psvt =
+static IPersistStreamVtbl psvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IPersistStream_fnQueryInterface,
 	IPersistStream_fnAddRef,
 	IPersistStream_fnRelease,
@@ -941,7 +938,7 @@
  */
 static HRESULT WINAPI IShellLinkA_fnQueryInterface( IShellLinkA * iface, REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(IShellLinkImpl, iface);
+	IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s)\n",This,debugstr_guid(riid));
 
@@ -980,7 +977,7 @@
  */
 static ULONG WINAPI IShellLinkA_fnAddRef(IShellLinkA * iface)
 {
-	ICOM_THIS(IShellLinkImpl, iface);
+	IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
 	TRACE("(%p)->(count=%lu)\n",This,This->ref);
 
@@ -992,7 +989,7 @@
  */
 static ULONG WINAPI IShellLinkA_fnRelease(IShellLinkA * iface)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(count=%lu)\n",This,This->ref);
 
@@ -1027,7 +1024,7 @@
 static HRESULT WINAPI IShellLinkA_fnGetPath(IShellLinkA * iface, LPSTR pszFile,
                   INT cchMaxPath, WIN32_FIND_DATAA *pfd, DWORD fFlags)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(pfile=%p len=%u find_data=%p flags=%lu)(%s)\n",
           This, pszFile, cchMaxPath, pfd, fFlags, debugstr_w(This->sPath));
@@ -1049,7 +1046,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetIDList(IShellLinkA * iface, LPITEMIDLIST * ppidl)
 {
-	ICOM_THIS(IShellLinkImpl, iface);
+	IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
 	TRACE("(%p)->(ppidl=%p)\n",This, ppidl);
 
@@ -1060,7 +1057,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetIDList(IShellLinkA * iface, LPCITEMIDLIST pidl)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(pidl=%p)\n",This, pidl);
 
@@ -1075,7 +1072,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetDescription(IShellLinkA * iface, LPSTR pszName,INT cchMaxName)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(%p len=%u)\n",This, pszName, cchMaxName);
 
@@ -1089,7 +1086,7 @@
 }
 static HRESULT WINAPI IShellLinkA_fnSetDescription(IShellLinkA * iface, LPCSTR pszName)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(pName=%s)\n", This, pszName);
 
@@ -1106,7 +1103,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetWorkingDirectory(IShellLinkA * iface, LPSTR pszDir,INT cchMaxPath)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(%p len=%u)\n", This, pszDir, cchMaxPath);
 
@@ -1121,7 +1118,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetWorkingDirectory(IShellLinkA * iface, LPCSTR pszDir)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(dir=%s)\n",This, pszDir);
 
@@ -1138,7 +1135,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetArguments(IShellLinkA * iface, LPSTR pszArgs,INT cchMaxPath)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(%p len=%u)\n", This, pszArgs, cchMaxPath);
 
@@ -1153,7 +1150,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetArguments(IShellLinkA * iface, LPCSTR pszArgs)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(args=%s)\n",This, pszArgs);
 
@@ -1170,7 +1167,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetHotkey(IShellLinkA * iface, WORD *pwHotkey)
 {
-	ICOM_THIS(IShellLinkImpl, iface);
+	IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
 	TRACE("(%p)->(%p)(0x%08x)\n",This, pwHotkey, This->wHotKey);
 
@@ -1181,7 +1178,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetHotkey(IShellLinkA * iface, WORD wHotkey)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(hotkey=%x)\n",This, wHotkey);
 
@@ -1193,7 +1190,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetShowCmd(IShellLinkA * iface, INT *piShowCmd)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(%p)\n",This, piShowCmd);
     *piShowCmd = This->iShowCmd;
@@ -1202,7 +1199,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetShowCmd(IShellLinkA * iface, INT iShowCmd)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p) %d\n",This, iShowCmd);
 
@@ -1237,7 +1234,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnGetIconLocation(IShellLinkA * iface, LPSTR pszIconPath, INT cchIconPath, INT *piIcon)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(%p len=%u iicon=%p)\n", This, pszIconPath, cchIconPath, piIcon);
 
@@ -1285,7 +1282,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetIconLocation(IShellLinkA * iface, LPCSTR pszIconPath, INT iIcon)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     TRACE("(%p)->(path=%s iicon=%u)\n",This, pszIconPath, iIcon);
 
@@ -1303,7 +1300,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetRelativePath(IShellLinkA * iface, LPCSTR pszPathRel, DWORD dwReserved)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     FIXME("(%p)->(path=%s %lx)\n",This, pszPathRel, dwReserved);
 
@@ -1320,7 +1317,7 @@
 {
     HRESULT hr = S_OK;
 
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
 
     FIXME("(%p)->(hwnd=%p flags=%lx)\n",This, hwnd, fFlags);
 
@@ -1359,7 +1356,7 @@
 
 static HRESULT WINAPI IShellLinkA_fnSetPath(IShellLinkA * iface, LPCSTR pszFile)
 {
-    ICOM_THIS(IShellLinkImpl, iface);
+    IShellLinkImpl *This = (IShellLinkImpl *)iface;
     char buffer[MAX_PATH];
     LPSTR fname;
 
@@ -1384,9 +1381,8 @@
 * IShellLink Implementation
 */
 
-static ICOM_VTABLE(IShellLinkA) slvt =
+static IShellLinkAVtbl slvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IShellLinkA_fnQueryInterface,
 	IShellLinkA_fnAddRef,
 	IShellLinkA_fnRelease,
@@ -1821,9 +1817,8 @@
 * IShellLinkW Implementation
 */
 
-static ICOM_VTABLE(IShellLinkW) slvtw =
+static IShellLinkWVtbl slvtw =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IShellLinkW_fnQueryInterface,
 	IShellLinkW_fnAddRef,
 	IShellLinkW_fnRelease,

reactos/lib/shell32
shellole.c 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- shellole.c	12 Jul 2004 22:03:09 -0000	1.6
+++ shellole.c	20 Sep 2004 09:18:52 -0000	1.7
@@ -273,11 +273,11 @@
  */
 
 /* set the vtable later */
-static ICOM_VTABLE(IMalloc) VT_Shell_IMalloc32;
+static IMallocVtbl VT_Shell_IMalloc32;
 
 /* this is the static object instance */
 typedef struct {
-	ICOM_VFIELD(IMalloc);
+	IMallocVtbl *lpVtbl;
 	DWORD dummy;
 } _ShellMalloc;
 
@@ -381,9 +381,8 @@
 	TRACE("()\n");
 }
 
-static ICOM_VTABLE(IMalloc) VT_Shell_IMalloc32 =
+static IMallocVtbl VT_Shell_IMalloc32 =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IShellMalloc_fnQueryInterface,
 	IShellMalloc_fnAddRefRelease,
 	IShellMalloc_fnAddRefRelease,
@@ -497,7 +496,7 @@
 
 typedef struct
 {
-    ICOM_VFIELD(IClassFactory);
+    IClassFactoryVtbl          *lpVtbl;
     DWORD                       ref;
     CLSID			*rclsid;
     LPFNCREATEINSTANCE		lpfnCI;
@@ -505,7 +504,7 @@
     ULONG *			pcRefDll; /* pointer to refcounter in external dll (ugrrr...) */
 } IDefClFImpl;
 
-static ICOM_VTABLE(IClassFactory) dclfvt;
+static IClassFactoryVtbl dclfvt;
 
 /**************************************************************************
  *  IDefClF_fnConstructor
@@ -533,7 +532,7 @@
 static HRESULT WINAPI IDefClF_fnQueryInterface(
   LPCLASSFACTORY iface, REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(IDefClFImpl,iface);
+	IDefClFImpl *This = (IDefClFImpl *)iface;
 
 	TRACE("(%p)->(%s)\n",This,shdebugstr_guid(riid));
 
@@ -553,7 +552,7 @@
  */
 static ULONG WINAPI IDefClF_fnAddRef(LPCLASSFACTORY iface)
 {
-	ICOM_THIS(IDefClFImpl,iface);
+	IDefClFImpl *This = (IDefClFImpl *)iface;
 	TRACE("(%p)->(count=%lu)\n",This,This->ref);
 
 	return InterlockedIncrement(&This->ref);
@@ -563,7 +562,7 @@
  */
 static ULONG WINAPI IDefClF_fnRelease(LPCLASSFACTORY iface)
 {
-	ICOM_THIS(IDefClFImpl,iface);
+	IDefClFImpl *This = (IDefClFImpl *)iface;
 	TRACE("(%p)->(count=%lu)\n",This,This->ref);
 
 	if (!InterlockedDecrement(&This->ref))
@@ -582,7 +581,7 @@
 static HRESULT WINAPI IDefClF_fnCreateInstance(
   LPCLASSFACTORY iface, LPUNKNOWN pUnkOuter, REFIID riid, LPVOID *ppvObject)
 {
-	ICOM_THIS(IDefClFImpl,iface);
+	IDefClFImpl *This = (IDefClFImpl *)iface;
 
 	TRACE("%p->(%p,%s,%p)\n",This,pUnkOuter,shdebugstr_guid(riid),ppvObject);
 
@@ -603,14 +602,13 @@
  */
 static HRESULT WINAPI IDefClF_fnLockServer(LPCLASSFACTORY iface, BOOL fLock)
 {
-	ICOM_THIS(IDefClFImpl,iface);
+	IDefClFImpl *This = (IDefClFImpl *)iface;
 	TRACE("%p->(0x%x), not implemented\n",This, fLock);
 	return E_NOTIMPL;
 }
 
-static ICOM_VTABLE(IClassFactory) dclfvt =
+static IClassFactoryVtbl dclfvt =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
     IDefClF_fnQueryInterface,
     IDefClF_fnAddRef,
   IDefClF_fnRelease,

reactos/lib/shell32
shfldr_desktop.c 1.9 -> 1.10
diff -u -r1.9 -r1.10
--- shfldr_desktop.c	13 Apr 2004 20:54:05 -0000	1.9
+++ shfldr_desktop.c	20 Sep 2004 09:18:52 -0000	1.10
@@ -58,7 +58,7 @@
 */
 
 typedef struct {
-    ICOM_VFIELD (IShellFolder2);
+    IShellFolder2Vtbl *lpVtbl;
     DWORD ref;
 
     CLSID *pclsid;
@@ -76,7 +76,7 @@
 #define _IUnknown_(This)	(IShellFolder*)&(This->lpVtbl)
 #define _IShellFolder_(This)	(IShellFolder*)&(This->lpVtbl)
 
-static struct ICOM_VTABLE (IShellFolder2) vt_MCFldr_ShellFolder2;
+static struct IShellFolder2Vtbl vt_MCFldr_ShellFolder2;
 
 static shvheader DesktopSFHeader[] = {
     {IDS_SHV_COLUMN1, SHCOLSTATE_TYPE_STR | SHCOLSTATE_ONBYDEFAULT, LVCFMT_RIGHT, 15},
@@ -132,7 +132,7 @@
  */
 static HRESULT WINAPI ISF_Desktop_fnQueryInterface (IShellFolder2 * iface, REFIID riid, LPVOID * ppvObj)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(%s,%p)\n", This, shdebugstr_guid (riid), ppvObj);
 
@@ -154,7 +154,7 @@
 
 static ULONG WINAPI ISF_Desktop_fnAddRef (IShellFolder2 * iface)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -163,7 +163,7 @@
 
 static ULONG WINAPI ISF_Desktop_fnRelease (IShellFolder2 * iface)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -192,7 +192,7 @@
 						      LPOLESTR lpszDisplayName,
 						      DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * pdwAttributes)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     WCHAR szElement[MAX_PATH];
     LPCWSTR szNext = NULL;
@@ -322,7 +322,7 @@
 static HRESULT WINAPI ISF_Desktop_fnEnumObjects (IShellFolder2 * iface,
 						 HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST * ppEnumIDList)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(HWND=%p flags=0x%08lx pplist=%p)\n", This, hwndOwner, dwFlags, ppEnumIDList);
 
@@ -341,7 +341,7 @@
 static HRESULT WINAPI ISF_Desktop_fnBindToObject (IShellFolder2 * iface,
 						  LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(pidl=%p,%p,%s,%p)\n", This, pidl, pbcReserved, shdebugstr_guid (riid), ppvOut);
 
@@ -354,7 +354,7 @@
 static HRESULT WINAPI ISF_Desktop_fnBindToStorage (IShellFolder2 * iface,
 						   LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     FIXME ("(%p)->(pidl=%p,%p,%s,%p) stub\n", This, pidl, pbcReserved, shdebugstr_guid (riid), ppvOut);
 
@@ -369,7 +369,7 @@
 static HRESULT WINAPI ISF_Desktop_fnCompareIDs (IShellFolder2 * iface,
 						LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     int nReturn;
 
@@ -385,7 +385,7 @@
 static HRESULT WINAPI ISF_Desktop_fnCreateViewObject (IShellFolder2 * iface,
 						      HWND hwndOwner, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     LPSHELLVIEW pShellView;
     HRESULT hr = E_INVALIDARG;
@@ -419,7 +419,7 @@
 static HRESULT WINAPI ISF_Desktop_fnGetAttributesOf (IShellFolder2 * iface,
 						     UINT cidl, LPCITEMIDLIST * apidl, DWORD * rgfInOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     HRESULT hr = S_OK;
 
@@ -461,7 +461,7 @@
 						   LPCITEMIDLIST * apidl,
 						   REFIID riid, UINT * prgfInOut, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     LPITEMIDLIST pidl;
     IUnknown *pObj = NULL;
@@ -518,7 +518,7 @@
 static HRESULT WINAPI ISF_Desktop_fnGetDisplayNameOf (IShellFolder2 * iface,
 						      LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     CHAR szPath[MAX_PATH];
     GUID const *clsid;
@@ -611,7 +611,7 @@
 static HRESULT WINAPI ISF_Desktop_fnSetNameOf (IShellFolder2 * iface, HWND hwndOwner, LPCITEMIDLIST pidl,	/*simple pidl */
 					       LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST * pPidlOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     FIXME ("(%p)->(%p,pidl=%p,%s,%lu,%p)\n", This, hwndOwner, pidl, debugstr_w (lpName), dwFlags, pPidlOut);
 
@@ -620,21 +620,21 @@
 
 static HRESULT WINAPI ISF_Desktop_fnGetDefaultSearchGUID (IShellFolder2 * iface, GUID * pguid)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
 static HRESULT WINAPI ISF_Desktop_fnEnumSearches (IShellFolder2 * iface, IEnumExtraSearch ** ppenum)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
 static HRESULT WINAPI ISF_Desktop_fnGetDefaultColumn (IShellFolder2 * iface,
 						      DWORD dwRes, ULONG * pSort, ULONG * pDisplay)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)\n", This);
 
@@ -647,7 +647,7 @@
 }
 static HRESULT WINAPI ISF_Desktop_fnGetDefaultColumnState (IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)\n", This);
 
@@ -661,7 +661,7 @@
 static HRESULT WINAPI ISF_Desktop_fnGetDetailsEx (IShellFolder2 * iface,
 						  LPCITEMIDLIST pidl, const SHCOLUMNID * pscid, VARIANT * pv)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
 
     return E_NOTIMPL;
@@ -669,7 +669,7 @@
 static HRESULT WINAPI ISF_Desktop_fnGetDetailsOf (IShellFolder2 * iface,
 						  LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS * psd)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     HRESULT hr = E_FAIL;
 
@@ -711,14 +711,13 @@
 }
 static HRESULT WINAPI ISF_Desktop_fnMapColumnToSCID (IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
 
-static ICOM_VTABLE (IShellFolder2) vt_MCFldr_ShellFolder2 =
+static IShellFolder2Vtbl vt_MCFldr_ShellFolder2 =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISF_Desktop_fnQueryInterface,
 	ISF_Desktop_fnAddRef,
 	ISF_Desktop_fnRelease,

reactos/lib/shell32
shfldr_fs.c 1.8 -> 1.9
diff -u -r1.8 -r1.9
--- shfldr_fs.c	13 Apr 2004 20:54:05 -0000	1.8
+++ shfldr_fs.c	20 Sep 2004 09:18:52 -0000	1.9
@@ -58,12 +58,12 @@
 */
 
 typedef struct {
-    ICOM_VFIELD (IUnknown);
-    DWORD ref;
-    ICOM_VTABLE (IShellFolder2) * lpvtblShellFolder;
-    ICOM_VTABLE (IPersistFolder3) * lpvtblPersistFolder3;
-    ICOM_VTABLE (IDropTarget) * lpvtblDropTarget;
-    ICOM_VTABLE (ISFHelper) * lpvtblSFHelper;
+    IUnknownVtbl        *lpVtbl;
+    DWORD                ref;
+    IShellFolder2Vtbl   *lpvtblShellFolder;
+    IPersistFolder3Vtbl *lpvtblPersistFolder3;
+    IDropTargetVtbl     *lpvtblDropTarget;
+    ISFHelperVtbl       *lpvtblSFHelper;
 
     IUnknown *pUnkOuter;	/* used for aggregation */
 
@@ -80,11 +80,11 @@
     BOOL fAcceptFmt;		/* flag for pending Drop */
 } IGenericSFImpl;
 
-static struct ICOM_VTABLE (IUnknown) unkvt;
-static struct ICOM_VTABLE (IShellFolder2) sfvt;
-static struct ICOM_VTABLE (IPersistFolder3) vt_FSFldr_PersistFolder3;	/* IPersistFolder3 for a FS_Folder */
-static struct ICOM_VTABLE (IDropTarget) dtvt;
-static struct ICOM_VTABLE (ISFHelper) shvt;
+static struct IUnknownVtbl unkvt;
+static struct IShellFolder2Vtbl sfvt;
+static struct IPersistFolder3Vtbl vt_FSFldr_PersistFolder3;	/* IPersistFolder3 for a FS_Folder */
+static struct IDropTargetVtbl dtvt;
+static struct ISFHelperVtbl shvt;
 
 #define _IShellFolder2_Offset ((int)(&(((IGenericSFImpl*)0)->lpvtblShellFolder)))
 #define _ICOM_THIS_From_IShellFolder2(class, name) class* This = (class*)(((char*)name)-_IShellFolder2_Offset);
@@ -132,7 +132,7 @@
 */
 static HRESULT WINAPI IUnknown_fnQueryInterface (IUnknown * iface, REFIID riid, LPVOID * ppvObj)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(%s,%p)\n", This, shdebugstr_guid (riid), ppvObj);
 
@@ -170,7 +170,7 @@
 
 static ULONG WINAPI IUnknown_fnAddRef (IUnknown * iface)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -179,7 +179,7 @@
 
 static ULONG WINAPI IUnknown_fnRelease (IUnknown * iface)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -196,9 +196,9 @@
     return This->ref;
 }
 
-static ICOM_VTABLE (IUnknown) unkvt =
+static IUnknownVtbl unkvt =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE IUnknown_fnQueryInterface,
+      IUnknown_fnQueryInterface,
       IUnknown_fnAddRef,
       IUnknown_fnRelease,
 };
@@ -858,9 +858,8 @@
     return E_NOTIMPL;
 }
 
-static ICOM_VTABLE (IShellFolder2) sfvt =
+static IShellFolder2Vtbl sfvt =
 {
-        ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IShellFolder_fnQueryInterface,
 	IShellFolder_fnAddRef,
 	IShellFolder_fnRelease,
@@ -1102,9 +1101,8 @@
     return S_OK;
 }
 
-static ICOM_VTABLE (ISFHelper) shvt =
+static ISFHelperVtbl shvt =
 {
-        ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISFHelper_fnQueryInterface,
 	ISFHelper_fnAddRef,
 	ISFHelper_fnRelease,
@@ -1278,9 +1276,8 @@
     return E_NOTIMPL;
 }
 
-static ICOM_VTABLE (IPersistFolder3) vt_FSFldr_PersistFolder3 =
+static IPersistFolder3Vtbl vt_FSFldr_PersistFolder3 =
 {
-        ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IFSFldr_PersistFolder3_QueryInterface,
 	IFSFldr_PersistFolder3_AddRef,
 	IFSFldr_PersistFolder3_Release,
@@ -1393,8 +1390,7 @@
     return E_NOTIMPL;
 }
 
-static struct ICOM_VTABLE (IDropTarget) dtvt = {
-        ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
+static struct IDropTargetVtbl dtvt = {
 	ISFDropTarget_QueryInterface,
 	ISFDropTarget_AddRef,
 	ISFDropTarget_Release,

reactos/lib/shell32
shfldr_mycomp.c 1.11 -> 1.12
diff -u -r1.11 -r1.12
--- shfldr_mycomp.c	13 Apr 2004 20:47:19 -0000	1.11
+++ shfldr_mycomp.c	20 Sep 2004 09:18:52 -0000	1.12
@@ -55,17 +55,17 @@
 */
 
 typedef struct {
-    ICOM_VFIELD (IShellFolder2);
-    DWORD ref;
-      ICOM_VTABLE (IPersistFolder2) * lpVtblPersistFolder2;
+    IShellFolder2Vtbl   *lpVtbl;
+    DWORD                ref;
+    IPersistFolder2Vtbl *lpVtblPersistFolder2;
 
     /* both paths are parsible from the desktop */
     LPITEMIDLIST pidlRoot;	/* absolute pidl */
     int dwAttributes;		/* attributes returned by GetAttributesOf FIXME: use it */
 } IGenericSFImpl;
 
-static struct ICOM_VTABLE (IShellFolder2) vt_ShellFolder2;
-static struct ICOM_VTABLE (IPersistFolder2) vt_PersistFolder2;
+static struct IShellFolder2Vtbl vt_ShellFolder2;
+static struct IPersistFolder2Vtbl vt_PersistFolder2;
 
 #define _IPersistFolder2_Offset ((int)(&(((IGenericSFImpl*)0)->lpVtblPersistFolder2)))
 #define _ICOM_THIS_From_IPersistFolder2(class, name) class* This = (class*)(((char*)name)-_IPersistFolder2_Offset);
@@ -133,7 +133,7 @@
  */
 static HRESULT WINAPI ISF_MyComputer_fnQueryInterface (IShellFolder2 * iface, REFIID riid, LPVOID * ppvObj)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(%s,%p)\n", This, shdebugstr_guid (riid), ppvObj);
 
@@ -158,7 +158,7 @@
 
 static ULONG WINAPI ISF_MyComputer_fnAddRef (IShellFolder2 * iface)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -167,7 +167,7 @@
 
 static ULONG WINAPI ISF_MyComputer_fnRelease (IShellFolder2 * iface)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(count=%lu)\n", This, This->ref);
 
@@ -191,7 +191,7 @@
 				   LPOLESTR lpszDisplayName,
 				   DWORD * pchEaten, LPITEMIDLIST * ppidl, DWORD * pdwAttributes)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     HRESULT hr = E_INVALIDARG;
     LPCWSTR szNext = NULL;
@@ -300,7 +300,7 @@
 static HRESULT WINAPI
 ISF_MyComputer_fnEnumObjects (IShellFolder2 * iface, HWND hwndOwner, DWORD dwFlags, LPENUMIDLIST * ppEnumIDList)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(HWND=%p flags=0x%08lx pplist=%p)\n", This, hwndOwner, dwFlags, ppEnumIDList);
 
@@ -320,7 +320,7 @@
 ISF_MyComputer_fnBindToObject (IShellFolder2 * iface, LPCITEMIDLIST pidl,
 			       LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)->(pidl=%p,%p,%s,%p)\n", This, pidl, pbcReserved, shdebugstr_guid (riid), ppvOut);
 
@@ -334,7 +334,7 @@
 ISF_MyComputer_fnBindToStorage (IShellFolder2 * iface,
 				LPCITEMIDLIST pidl, LPBC pbcReserved, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     FIXME ("(%p)->(pidl=%p,%p,%s,%p) stub\n", This, pidl, pbcReserved, shdebugstr_guid (riid), ppvOut);
 
@@ -349,7 +349,7 @@
 static HRESULT WINAPI
 ISF_MyComputer_fnCompareIDs (IShellFolder2 * iface, LPARAM lParam, LPCITEMIDLIST pidl1, LPCITEMIDLIST pidl2)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     int nReturn;
 
@@ -365,7 +365,7 @@
 static HRESULT WINAPI
 ISF_MyComputer_fnCreateViewObject (IShellFolder2 * iface, HWND hwndOwner, REFIID riid, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     LPSHELLVIEW pShellView;
     HRESULT hr = E_INVALIDARG;
@@ -399,7 +399,7 @@
 static HRESULT WINAPI
 ISF_MyComputer_fnGetAttributesOf (IShellFolder2 * iface, UINT cidl, LPCITEMIDLIST * apidl, DWORD * rgfInOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     HRESULT hr = S_OK;
 
@@ -439,7 +439,7 @@
 				HWND hwndOwner,
 				UINT cidl, LPCITEMIDLIST * apidl, REFIID riid, UINT * prgfInOut, LPVOID * ppvOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     LPITEMIDLIST pidl;
     IUnknown *pObj = NULL;
@@ -492,7 +492,7 @@
 */
 static HRESULT WINAPI ISF_MyComputer_fnGetDisplayNameOf (IShellFolder2 * iface, LPCITEMIDLIST pidl, DWORD dwFlags, LPSTRRET strRet)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     char szPath[MAX_PATH],
       szDrive[18];
@@ -617,26 +617,26 @@
 static HRESULT WINAPI ISF_MyComputer_fnSetNameOf (IShellFolder2 * iface, HWND hwndOwner, LPCITEMIDLIST pidl,	/*simple pidl */
 						  LPCOLESTR lpName, DWORD dwFlags, LPITEMIDLIST * pPidlOut)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)->(%p,pidl=%p,%s,%lu,%p)\n", This, hwndOwner, pidl, debugstr_w (lpName), dwFlags, pPidlOut);
     return E_FAIL;
 }
 
 static HRESULT WINAPI ISF_MyComputer_fnGetDefaultSearchGUID (IShellFolder2 * iface, GUID * pguid)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
 static HRESULT WINAPI ISF_MyComputer_fnEnumSearches (IShellFolder2 * iface, IEnumExtraSearch ** ppenum)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
 static HRESULT WINAPI ISF_MyComputer_fnGetDefaultColumn (IShellFolder2 * iface, DWORD dwRes, ULONG * pSort, ULONG * pDisplay)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)\n", This);
 
@@ -646,7 +646,7 @@
 }
 static HRESULT WINAPI ISF_MyComputer_fnGetDefaultColumnState (IShellFolder2 * iface, UINT iColumn, DWORD * pcsFlags)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
 
     TRACE ("(%p)\n", This);
 
@@ -656,7 +656,7 @@
 }
 static HRESULT WINAPI ISF_MyComputer_fnGetDetailsEx (IShellFolder2 * iface, LPCITEMIDLIST pidl, const SHCOLUMNID * pscid, VARIANT * pv)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
@@ -664,7 +664,7 @@
 /* FIXME: drive size >4GB is rolling over */
 static HRESULT WINAPI ISF_MyComputer_fnGetDetailsOf (IShellFolder2 * iface, LPCITEMIDLIST pidl, UINT iColumn, SHELLDETAILS * psd)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     HRESULT hr;
 
     TRACE ("(%p)->(%p %i %p)\n", This, pidl, iColumn, psd);
@@ -713,14 +713,13 @@
 }
 static HRESULT WINAPI ISF_MyComputer_fnMapColumnToSCID (IShellFolder2 * iface, UINT column, SHCOLUMNID * pscid)
 {
-    ICOM_THIS (IGenericSFImpl, iface);
+    IGenericSFImpl *This = (IGenericSFImpl *)iface;
     FIXME ("(%p)\n", This);
     return E_NOTIMPL;
 }
 
-static ICOM_VTABLE (IShellFolder2) vt_ShellFolder2 =
+static IShellFolder2Vtbl vt_ShellFolder2 =
 {
-        ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISF_MyComputer_fnQueryInterface,
 	ISF_MyComputer_fnAddRef,
 	ISF_MyComputer_fnRelease,
@@ -823,9 +822,8 @@
     return S_OK;
 }
 
-static ICOM_VTABLE (IPersistFolder2) vt_PersistFolder2 =
+static IPersistFolder2Vtbl vt_PersistFolder2 =
 {
-ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IMCFldr_PersistFolder2_QueryInterface,
 	IMCFldr_PersistFolder2_AddRef,
 	IMCFldr_PersistFolder2_Release,

reactos/lib/shell32
shlfsbind.c 1.6 -> 1.7
diff -u -r1.6 -r1.7
--- shlfsbind.c	30 Jun 2004 20:40:02 -0000	1.6
+++ shlfsbind.c	20 Sep 2004 09:18:52 -0000	1.7
@@ -41,7 +41,7 @@
  */
 typedef struct
 {
-	ICOM_VFIELD(IFileSystemBindData);
+	IFileSystemBindDataVtbl *lpVtbl;
 	DWORD              ref;
 	WIN32_FIND_DATAW findFile;
 } IFileSystemBindDataImpl;
@@ -52,9 +52,8 @@
 static HRESULT WINAPI IFileSystemBindData_fnGetFindData(IFileSystemBindData *iface, WIN32_FIND_DATAW *pfd);
 static HRESULT WINAPI IFileSystemBindData_fnSetFindData(IFileSystemBindData *iface, const WIN32_FIND_DATAW *pfd);
 
-static struct ICOM_VTABLE(IFileSystemBindData) sbvt =
+static struct IFileSystemBindDataVtbl sbvt =
 {
-    ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
     IFileSystemBindData_fnQueryInterface,
     IFileSystemBindData_fnAddRef,
     IFileSystemBindData_fnRelease,
@@ -152,7 +151,7 @@
 
 static HRESULT WINAPI IFileSystemBindData_fnQueryInterface(IFileSystemBindData *iface, REFIID riid, LPVOID *ppV)
 {
-	ICOM_THIS(IFileSystemBindDataImpl, iface);
+	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
 	TRACE("(%p)->(\n\tIID:\t%s, %p)\n", This, debugstr_guid(riid), ppV);
 
 	*ppV = NULL;
@@ -178,14 +177,14 @@
 
 static ULONG WINAPI IFileSystemBindData_fnAddRef(IFileSystemBindData *iface)
 {
-	ICOM_THIS(IFileSystemBindDataImpl, iface);
+	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
 	TRACE("(%p)\n", This);
 	return InterlockedIncrement(&This->ref);
 }
 
 static ULONG WINAPI IFileSystemBindData_fnRelease(IFileSystemBindData *iface)
 {
-	ICOM_THIS(IFileSystemBindDataImpl, iface);
+	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
 	TRACE("(%p)\n", This);
 
 	if (!InterlockedDecrement(&This->ref))
@@ -199,7 +198,7 @@
 
 static HRESULT WINAPI IFileSystemBindData_fnGetFindData(IFileSystemBindData *iface, WIN32_FIND_DATAW *pfd)
 {
-	ICOM_THIS(IFileSystemBindDataImpl, iface);
+	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
 	TRACE("(%p), %p\n", This, pfd);
 
 	if (!pfd)
@@ -211,7 +210,7 @@
 
 static HRESULT WINAPI IFileSystemBindData_fnSetFindData(IFileSystemBindData *iface, const WIN32_FIND_DATAW *pfd)
 {
-	ICOM_THIS(IFileSystemBindDataImpl, iface);
+	IFileSystemBindDataImpl *This = (IFileSystemBindDataImpl *)iface;
 	TRACE("(%p), %p\n", This, pfd);
 
 	if (pfd)

reactos/lib/shell32
shlview.c 1.7 -> 1.8
diff -u -r1.7 -r1.8
--- shlview.c	4 Aug 2004 00:23:28 -0000	1.7
+++ shlview.c	20 Sep 2004 09:18:52 -0000	1.8
@@ -70,12 +70,13 @@
 }LISTVIEW_SORT_INFO, *LPLISTVIEW_SORT_INFO;
 
 typedef struct
-{	ICOM_VFIELD(IShellView);
-	DWORD		ref;
-	ICOM_VTABLE(IOleCommandTarget)*	lpvtblOleCommandTarget;
-	ICOM_VTABLE(IDropTarget)*	lpvtblDropTarget;
-	ICOM_VTABLE(IDropSource)*	lpvtblDropSource;
-	ICOM_VTABLE(IViewObject)*	lpvtblViewObject;
+{
+	IShellViewVtbl*		lpVtbl;
+	DWORD			ref;
+	IOleCommandTargetVtbl*	lpvtblOleCommandTarget;
+	IDropTargetVtbl*	lpvtblDropTarget;
+	IDropSourceVtbl*	lpvtblDropSource;
+	IViewObjectVtbl*	lpvtblViewObject;
 	IShellFolder*	pSFParent;
 	IShellFolder2*	pSF2Parent;
 	IShellBrowser*	pShellBrowser;
@@ -93,21 +94,21 @@
 	HANDLE		hAccel;
 } IShellViewImpl;
 
-static struct ICOM_VTABLE(IShellView) svvt;
+static struct IShellViewVtbl svvt;
 
-static struct ICOM_VTABLE(IOleCommandTarget) ctvt;
+static struct IOleCommandTargetVtbl ctvt;
 #define _IOleCommandTarget_Offset ((int)(&(((IShellViewImpl*)0)->lpvtblOleCommandTarget)))
 #define _ICOM_THIS_From_IOleCommandTarget(class, name) class* This = (class*)(((char*)name)-_IOleCommandTarget_Offset);
 
-static struct ICOM_VTABLE(IDropTarget) dtvt;
+static struct IDropTargetVtbl dtvt;
 #define _IDropTarget_Offset ((int)(&(((IShellViewImpl*)0)->lpvtblDropTarget)))
 #define _ICOM_THIS_From_IDropTarget(class, name) class* This = (class*)(((char*)name)-_IDropTarget_Offset);
 
-static struct ICOM_VTABLE(IDropSource) dsvt;
+static struct IDropSourceVtbl dsvt;
 #define _IDropSource_Offset ((int)(&(((IShellViewImpl*)0)->lpvtblDropSource)))
 #define _ICOM_THIS_From_IDropSource(class, name) class* This = (class*)(((char*)name)-_IDropSource_Offset);
 
-static struct ICOM_VTABLE(IViewObject) vovt;
+static struct IViewObjectVtbl vovt;
 #define _IViewObject_Offset ((int)(&(((IShellViewImpl*)0)->lpvtblViewObject)))
 #define _ICOM_THIS_From_IViewObject(class, name) class* This = (class*)(((char*)name)-_IViewObject_Offset);
 
@@ -1588,7 +1589,7 @@
 */
 static HRESULT WINAPI IShellView_fnQueryInterface(IShellView * iface,REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
@@ -1634,7 +1635,7 @@
 */
 static ULONG WINAPI IShellView_fnAddRef(IShellView * iface)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)->(count=%lu)\n",This,This->ref);
 
@@ -1645,7 +1646,7 @@
 */
 static ULONG WINAPI IShellView_fnRelease(IShellView * iface)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)->()\n",This);
 
@@ -1675,7 +1676,7 @@
 */
 static HRESULT WINAPI IShellView_fnGetWindow(IShellView * iface,HWND * phWnd)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -1686,7 +1687,7 @@
 
 static HRESULT WINAPI IShellView_fnContextSensitiveHelp(IShellView * iface,BOOL fEnterMode)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	FIXME("(%p) stub\n",This);
 
@@ -1702,7 +1703,7 @@
 static HRESULT WINAPI IShellView_fnTranslateAccelerator(IShellView * iface,LPMSG lpmsg)
 {
 #if 0
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	FIXME("(%p)->(%p: hwnd=%x msg=%x lp=%lx wp=%x) stub\n",This,lpmsg, lpmsg->hwnd, lpmsg->message, lpmsg->lParam, lpmsg->wParam);
 #endif
@@ -1716,7 +1717,7 @@
 
 static HRESULT WINAPI IShellView_fnEnableModeless(IShellView * iface,BOOL fEnable)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	FIXME("(%p) stub\n",This);
 
@@ -1725,7 +1726,7 @@
 
 static HRESULT WINAPI IShellView_fnUIActivate(IShellView * iface,UINT uState)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 /*
 	CHAR	szName[MAX_PATH];
@@ -1768,7 +1769,7 @@
 
 static HRESULT WINAPI IShellView_fnRefresh(IShellView * iface)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -1786,7 +1787,7 @@
 	RECT * prcView,
 	HWND  *phWnd)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	WNDCLASSA wc;
 	*phWnd = 0;
@@ -1852,7 +1853,7 @@
 
 static HRESULT WINAPI IShellView_fnDestroyViewWindow(IShellView * iface)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)\n",This);
 
@@ -1874,7 +1875,7 @@
 
 static HRESULT WINAPI IShellView_fnGetCurrentInfo(IShellView * iface, LPFOLDERSETTINGS lpfs)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)->(%p) vmode=%x flags=%x\n",This, lpfs,
 		This->FolderSettings.ViewMode, This->FolderSettings.fFlags);
@@ -1887,7 +1888,7 @@
 
 static HRESULT WINAPI IShellView_fnAddPropertySheetPages(IShellView * iface, DWORD dwReserved,LPFNADDPROPSHEETPAGE lpfn, LPARAM lparam)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	FIXME("(%p) stub\n",This);
 
@@ -1896,7 +1897,7 @@
 
 static HRESULT WINAPI IShellView_fnSaveViewState(IShellView * iface)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	FIXME("(%p) stub\n",This);
 
@@ -1908,7 +1909,7 @@
 	LPCITEMIDLIST pidl,
 	UINT uFlags)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 	int i;
 
 	TRACE("(%p)->(pidl=%p, 0x%08x) stub\n",This, pidl, uFlags);
@@ -1957,7 +1958,7 @@
 
 static HRESULT WINAPI IShellView_fnGetItemObject(IShellView * iface, UINT uItem, REFIID riid, LPVOID *ppvOut)
 {
-	ICOM_THIS(IShellViewImpl, iface);
+	IShellViewImpl *This = (IShellViewImpl *)iface;
 
 	TRACE("(%p)->(uItem=0x%08x,\n\tIID=%s, ppv=%p)\n",This, uItem, debugstr_guid(riid), ppvOut);
 
@@ -1981,9 +1982,8 @@
 	return S_OK;
 }
 
-static struct ICOM_VTABLE(IShellView) svvt =
+static struct IShellViewVtbl svvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	IShellView_fnQueryInterface,
 	IShellView_fnAddRef,
 	IShellView_fnRelease,
@@ -2094,9 +2094,8 @@
 	return OLECMDERR_E_UNKNOWNGROUP;
 }
 
-static ICOM_VTABLE(IOleCommandTarget) ctvt =
+static IOleCommandTargetVtbl ctvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISVOleCmdTarget_QueryInterface,
 	ISVOleCmdTarget_AddRef,
 	ISVOleCmdTarget_Release,
@@ -2190,9 +2189,8 @@
 	return E_NOTIMPL;
 }
 
-static struct ICOM_VTABLE(IDropTarget) dtvt =
+static struct IDropTargetVtbl dtvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISVDropTarget_QueryInterface,
 	ISVDropTarget_AddRef,
 	ISVDropTarget_Release,
@@ -2261,9 +2259,8 @@
 	return DRAGDROP_S_USEDEFAULTCURSORS;
 }
 
-static struct ICOM_VTABLE(IDropSource) dsvt =
+static struct IDropSourceVtbl dsvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISVDropSource_QueryInterface,
 	ISVDropSource_AddRef,
 	ISVDropSource_Release,
@@ -2393,9 +2390,8 @@
 }
 
 
-static struct ICOM_VTABLE(IViewObject) vovt =
+static struct IViewObjectVtbl vovt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISVViewObject_QueryInterface,
 	ISVViewObject_AddRef,
 	ISVViewObject_Release,

reactos/lib/shell32
shv_bg_cmenu.c 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shv_bg_cmenu.c	30 Jun 2004 19:06:27 -0000	1.3
+++ shv_bg_cmenu.c	20 Sep 2004 09:18:52 -0000	1.4
@@ -41,13 +41,13 @@
 */
 typedef struct
 {
-	ICOM_VFIELD(IContextMenu2);
+	IContextMenu2Vtbl *lpVtbl;
 	IShellFolder*	pSFParent;
 	DWORD		ref;
 } BgCmImpl;
 
 
-static struct ICOM_VTABLE(IContextMenu2) cmvt;
+static struct IContextMenu2Vtbl cmvt;
 
 /**************************************************************************
 *   ISVBgCm_Constructor()
@@ -71,7 +71,7 @@
 */
 static HRESULT WINAPI ISVBgCm_fnQueryInterface(IContextMenu2 *iface, REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
@@ -103,7 +103,7 @@
 */
 static ULONG WINAPI ISVBgCm_fnAddRef(IContextMenu2 *iface)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 
 	TRACE("(%p)->(count=%lu)\n",This, This->ref);
 
@@ -115,7 +115,7 @@
 */
 static ULONG WINAPI ISVBgCm_fnRelease(IContextMenu2 *iface)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 
 	TRACE("(%p)->()\n",This);
 
@@ -149,7 +149,7 @@
     UINT	idMax;
     HRESULT hr;
 
-    ICOM_THIS(BgCmImpl, iface);
+    BgCmImpl *This = (BgCmImpl *)iface;
 
     TRACE("(%p)->(hmenu=%p indexmenu=%x cmdfirst=%x cmdlast=%x flags=%x )\n",
           This, hMenu, indexMenu, idCmdFirst, idCmdLast, uFlags);
@@ -187,7 +187,7 @@
 	IContextMenu2 *iface,
 	IShellView *psv)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 	ISFHelper * psfhlp;
 	char szName[MAX_PATH];
 
@@ -217,7 +217,7 @@
 static BOOL DoPaste(
 	IContextMenu2 *iface)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 	BOOL bSuccess = FALSE;
 	IDataObject * pda;
 
@@ -315,7 +315,7 @@
 	IContextMenu2 *iface,
 	LPCMINVOKECOMMANDINFO lpcmi)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 
 	LPSHELLBROWSER	lpSB;
 	LPSHELLVIEW lpSV = NULL;
@@ -388,7 +388,7 @@
 	LPSTR lpszName,
 	UINT uMaxNameLen)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 
 	TRACE("(%p)->(idcom=%x flags=%x %p name=%p len=%x)\n",This, idCommand, uFlags, lpReserved, lpszName, uMaxNameLen);
 
@@ -420,7 +420,7 @@
 	WPARAM wParam,
 	LPARAM lParam)
 {
-	ICOM_THIS(BgCmImpl, iface);
+	BgCmImpl *This = (BgCmImpl *)iface;
 
 	FIXME("(%p)->(msg=%x wp=%x lp=%lx)\n",This, uMsg, wParam, lParam);
 
@@ -431,9 +431,8 @@
 * IContextMenu2 VTable
 *
 */
-static struct ICOM_VTABLE(IContextMenu2) cmvt =
+static struct IContextMenu2Vtbl cmvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISVBgCm_fnQueryInterface,
 	ISVBgCm_fnAddRef,
 	ISVBgCm_fnRelease,

reactos/lib/shell32
shv_item_cmenu.c 1.3 -> 1.4
diff -u -r1.3 -r1.4
--- shv_item_cmenu.c	12 Jul 2004 22:03:09 -0000	1.3
+++ shv_item_cmenu.c	20 Sep 2004 09:18:52 -0000	1.4
@@ -41,7 +41,7 @@
 *  IContextMenu Implementation
 */
 typedef struct
-{	ICOM_VFIELD(IContextMenu2);
+{	IContextMenu2Vtbl *lpVtbl;
 	DWORD		ref;
 	IShellFolder*	pSFParent;
 	LPITEMIDLIST	pidl;		/* root pidl */
@@ -51,7 +51,7 @@
 } ItemCmImpl;
 
 
-static struct ICOM_VTABLE(IContextMenu2) cmvt;
+static struct IContextMenu2Vtbl cmvt;
 
 /**************************************************************************
 * ISvItemCm_CanRenameItems()
@@ -107,7 +107,7 @@
 */
 static HRESULT WINAPI ISvItemCm_fnQueryInterface(IContextMenu2 *iface, REFIID riid, LPVOID *ppvObj)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	TRACE("(%p)->(\n\tIID:\t%s,%p)\n",This,debugstr_guid(riid),ppvObj);
 
@@ -139,7 +139,7 @@
 */
 static ULONG WINAPI ISvItemCm_fnAddRef(IContextMenu2 *iface)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	TRACE("(%p)->(count=%lu)\n",This, This->ref);
 
@@ -151,7 +151,7 @@
 */
 static ULONG WINAPI ISvItemCm_fnRelease(IContextMenu2 *iface)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	TRACE("(%p)->()\n",This);
 
@@ -218,7 +218,7 @@
 	UINT idCmdLast,
 	UINT uFlags)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	TRACE("(%p)->(hmenu=%p indexmenu=%x cmdfirst=%x cmdlast=%x flags=%x )\n",This, hmenu, indexMenu, idCmdFirst, idCmdLast, uFlags);
 
@@ -269,7 +269,7 @@
 	HWND hwnd,
 	LPCSTR verb)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	UINT i, bFolderFound = FALSE;
 	LPITEMIDLIST	pidlFQ;
@@ -310,7 +310,7 @@
 	IContextMenu2 *iface,
 	HWND hwnd)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	LPSHELLBROWSER	lpSB;
 	LPSHELLVIEW	lpSV;
@@ -337,7 +337,7 @@
  */
 static void DoDelete(IContextMenu2 *iface)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 	ISFHelper * psfhlp;
 
 	IShellFolder_QueryInterface(This->pSFParent, &IID_ISFHelper, (LPVOID*)&psfhlp);
@@ -358,7 +358,7 @@
 	HWND hwnd,
 	BOOL bCut)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	LPSHELLBROWSER	lpSB;
 	LPSHELLVIEW	lpSV;
@@ -388,7 +388,7 @@
 	IContextMenu2 *iface,
 	LPCMINVOKECOMMANDINFO lpcmi)
 {
-    ICOM_THIS(ItemCmImpl, iface);
+    ItemCmImpl *This = (ItemCmImpl *)iface;
 
     if (lpcmi->cbSize != sizeof(CMINVOKECOMMANDINFO))
         FIXME("Is an EX structure\n");
@@ -455,7 +455,7 @@
 	LPSTR lpszName,
 	UINT uMaxNameLen)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	HRESULT  hr = E_INVALIDARG;
 
@@ -510,16 +510,15 @@
 	WPARAM wParam,
 	LPARAM lParam)
 {
-	ICOM_THIS(ItemCmImpl, iface);
+	ItemCmImpl *This = (ItemCmImpl *)iface;
 
 	TRACE("(%p)->(msg=%x wp=%x lp=%lx)\n",This, uMsg, wParam, lParam);
 
 	return E_NOTIMPL;
 }
 
-static struct ICOM_VTABLE(IContextMenu2) cmvt =
+static struct IContextMenu2Vtbl cmvt =
 {
-	ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
 	ISvItemCm_fnQueryInterface,
 	ISvItemCm_fnAddRef,
 	ISvItemCm_fnRelease,
CVSspam 0.2.8