Hi AJ, 2010/2/22 Alexandre Julliard <julli...@winehq.org>: > Maarten Lankhorst <m.b.lankho...@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.