Don't use COBJMACROS on internal interfaces.
diff --git a/dlls/dplayx/dplaysp.h b/dlls/dplayx/dplaysp.h
index 1af02be..05995dc 100644
--- a/dlls/dplayx/dplaysp.h
+++ b/dlls/dplayx/dplaysp.h
@@ -78,7 +78,7 @@
/* NOTE: The microsoft provided header file doesn't have these access
* functions
*/
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDirectPlaySP_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDirectPlaySP_AddRef(p) (p)->lpVtbl->AddRef(p)
diff --git a/dlls/dplayx/lobbysp.h b/dlls/dplayx/lobbysp.h
index cd93887..669671a 100644
--- a/dlls/dplayx/lobbysp.h
+++ b/dlls/dplayx/lobbysp.h
@@ -483,7 +483,7 @@
DECLARE_INTERFACE_(IDPLobbySP,IUnknown) { IDPLobbySP_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDPLobbySP_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDPLobbySP_AddRef(p) (p)->lpVtbl->AddRef(p)
diff --git a/include/dsdriver.h b/include/dsdriver.h
index 34f8679..8ff3c4f 100644
--- a/include/dsdriver.h
+++ b/include/dsdriver.h
@@ -144,7 +144,7 @@
DECLARE_INTERFACE_(IDsDriver,IUnknown) { IDsDriver_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDsDriver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDsDriver_AddRef(p) (p)->lpVtbl->AddRef(p)
@@ -176,7 +176,7 @@
DECLARE_INTERFACE_(IDsDriverBuffer,IUnknown) { IDsDriverBuffer_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDsDriverBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDsDriverBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
@@ -205,7 +205,7 @@
DECLARE_INTERFACE_(IDsDriverPropertySet,IUnknown) { IDsDriverPropertySet_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDsDriverPropertySet_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDsDriverPropertySet_AddRef(p) (p)->lpVtbl->AddRef(p)
@@ -261,7 +261,7 @@
DECLARE_INTERFACE_(IDsDriverNotify,IUnknown) { IDsDriverNotify_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDsDriverNotify_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDsDriverNotify_AddRef(p) (p)->lpVtbl->AddRef(p)
@@ -284,7 +284,7 @@
DECLARE_INTERFACE_(IDsCaptureDriver,IUnknown) { IDsCaptureDriver_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDsCaptureDriver_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDsCaptureDriver_AddRef(p) (p)->lpVtbl->AddRef(p)
@@ -313,7 +313,7 @@
DECLARE_INTERFACE_(IDsCaptureDriverBuffer,IUnknown) { IDsCaptureDriverBuffer_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined (__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IDsCaptureDriverBuffer_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IDsCaptureDriverBuffer_AddRef(p) (p)->lpVtbl->AddRef(p)
diff --git a/include/wine/wined3d_interface.h b/include/wine/wined3d_interface.h
index 2cbbc05..156fbea 100644
--- a/include/wine/wined3d_interface.h
+++ b/include/wine/wined3d_interface.h
@@ -74,7 +74,7 @@
DECLARE_INTERFACE_(IWineD3D,IUnknown) { IWineD3D_METHODS };
#undef INTERFACE
-#ifdef COBJMACROS
+#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IWineD3D_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IWineD3D_AddRef(p) (p)->lpVtbl->AddRef(p)