Fix incorrect usage of COBJMACROS.

diff --git a/include/mapiutil.h b/include/mapiutil.h
index 86983b5..4f6d147 100644
--- a/include/mapiutil.h
+++ b/include/mapiutil.h
@@ -139,7 +139,7 @@
 DECLARE_INTERFACE_(ITableData,IUnknown) { ITableData_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined(__cplusplus) || defined(CINTERFACE)
         /*** IUnknown methods ***/
 #define ITableData_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
 #define ITableData_AddRef(p)             (p)->lpVtbl->AddRef(p)
@@ -223,7 +223,7 @@
 DECLARE_INTERFACE_(IPropData,IMAPIProp) { IPropData_METHODS };
 #undef INTERFACE
 
-#ifdef COBJMACROS
+#if !defined(__cplusplus) || defined(CINTERFACE)
         /*** IUnknown methods ***/
 #define IPropData_QueryInterface(p,a,b)        (p)->lpVtbl->QueryInterface(p,a,b)
 #define IPropData_AddRef(p)                    (p)->lpVtbl->AddRef(p)