Re: includes: Fix IsEqualPropertyKey definitions
Maarten Lankhorst writes: >> That doesn't match the PSDK I have, and yes it has a C definition that >> is different from the C++ one, but is also different from yours. > Mine doesn't seem to have a C definition at all, but from the > devpropdef one I assume the C version takes a PROPERTYKEY as parameter > and not a PROPERTYKEY*? Yes. -- Alexandre Julliard julli...@winehq.org
Re: includes: Fix IsEqualPropertyKey definitions
Hi AJ, 2010/2/22 Alexandre Julliard : > Maarten Lankhorst writes: > >>> 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.. > > That doesn't match the PSDK I have, and yes it has a C definition that > is different from the C++ one, but is also different from yours. Mine doesn't seem to have a C definition at all, but from the devpropdef one I assume the C version takes a PROPERTYKEY as parameter and not a PROPERTYKEY*? Cheers, Maarten.
Re: includes: Fix IsEqualPropertyKey definitions
Maarten Lankhorst writes: >> 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.. That doesn't match the PSDK I have, and yes it has a C definition that is different from the C++ one, but is also different from yours. -- Alexandre Julliard julli...@winehq.org
Re: includes: Fix IsEqualPropertyKey definitions
Hi AJ, 2010/2/22 Alexandre Julliard : > Maarten Lankhorst 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.
Re: includes: Fix IsEqualPropertyKey definitions
Maarten Lankhorst 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? -- Alexandre Julliard julli...@winehq.org