Get rid of the non-standard ICOM_THIS macro.
diff --git a/include/objbase.h b/include/objbase.h
index 43a8611..f92152e 100644
--- a/include/objbase.h
+++ b/include/objbase.h
@@ -171,11 +171,11 @@
*
* This continues the above example. This example assumes that the implementation is in C.
*
- * typedef struct _IDirect3D {
+ * typedef struct IDirect3DImpl {
* void* lpVtbl;
* // ...
*
- * } _IDirect3D;
+ * } IDirect3DImpl;
*
* static IDirect3DVtbl d3dvt;
*
@@ -183,7 +183,7 @@
*
* int IDirect3D_QueryInterface(IDirect3D* me)
* {
- * ICOM_THIS(IDirect3D,me);
+ * IDirect3DImpl *This = (IDirect3DImpl *)me;
* // ...
* }
*
@@ -198,13 +198,13 @@
* };
*
* Comments:
- * - We first define what the interface really contains. This is th e_IDirect3D structure. The
+ * - We first define what the interface really contains. This is the IDirect3DImpl structure. The
* first field must of course be the virtual table pointer. Everything else is free.
* - Then we predeclare our static virtual table variable, we will need its address in some
* methods to initialize the virtual table pointer of the returned interface objects.
* - Then we implement the interface methods. To match what has been declared in the header file
- * they must take a pointer to a IDirect3D structure and we must cast it to an _IDirect3D so that
- * we can manipulate the fields. This is performed by the ICOM_THIS macro.
+ * they must take a pointer to a IDirect3D structure and we must cast it to an IDirect3DImpl so
+ * that we can manipulate the fields.
* - Finally we initialize the virtual table.
*/
@@ -267,10 +267,6 @@
#endif /* __cplusplus && !CINTERFACE */
-/* Wine-specific macros */
-
-#define ICOM_THIS(impl,iface) impl* const This=(impl*)(iface)
-
#include <objidl.h>
#ifndef RC_INVOKED