Hi AJ, 2010/2/22 Alexandre Julliard <julliard(a)winehq.org>:
Maarten Lankhorst <m.b.lankhorst(a)gmail.com> writes:
@@ -48,7 +48,11 @@ #endif
#ifndef IsEqualPropertyKey +#ifdef __cplusplus #define IsEqualPropertyKey(a,b) (((a).pid == (b).pid) && IsEqualIID((a).fmtid,(b).fmtid)) +#else +#define IsEqualPropertyKey(a,b) (((a)->pid == (b)->pid) && IsEqualIID(&(a)->fmtid,&(b)->fmtid)) +#endif
This doesn't match the PSDK. Where does this come from? In C, REFPROPERTYKEY becomes PROPERTYKEY*, in C++ it's PROPERTYKEY &, so IsEqualPropertyKey will need a different macro. The psdk doesn't define this properly for the C case, but since I need it in C code I need it defined, unless you want me to do IsEqualPropertyKey(*key1, *key2), but even that wouldn't work because of the IsEqualIID..
Cheers, Maarten.