"Reece Dunn" msclrhd@googlemail.com writes:
In the SDK, vssym32.h includes vsstyle.h (as is done here). However, the SDK has obsoleted tmschema.h, and duplicates the entries throughout vsstyle.h and vssym32.h.
Since it does not make sense to duplicate the entries (even if tmschema.h uses the TM_ macros and vsstyle.h defines the enums by hand), vsstyle.h includes tmschema.h.
Maybe it doesn't make sense to duplicate them, but since it's what MS does, it's what we have to do too.
On 26/12/2007, Alexandre Julliard julliard@winehq.org wrote:
"Reece Dunn" msclrhd@googlemail.com writes:
In the SDK, vssym32.h includes vsstyle.h (as is done here). However, the SDK has obsoleted tmschema.h, and duplicates the entries throughout vsstyle.h and vssym32.h.
Since it does not make sense to duplicate the entries (even if tmschema.h uses the TM_ macros and vsstyle.h defines the enums by hand), vsstyle.h includes tmschema.h.
Maybe it doesn't make sense to duplicate them, but since it's what MS does, it's what we have to do too.
I'll rework these three patches to follow what MS do then.
In tmschema.h, MS does the following:
If NTDDI_VERSION is set to NTDDI_LONGHORN or later (or vssym32.h was included first), and SCHEMA_VERIFY_VSSYM32 is not defined [backward compatibility verification mode], display an obsoleted message and include vssym32.h.
Otherwise, the XP tmschema.h content is used.
This would mean that if you define SCHEMA_VERIFY_VSSYM32, or include vssym32.h after tmschema.h, then you will get multiple definitions of the various enumerations.
- Reece