Window XP SP2 and earlier support


#1

I know it's not supported by MS anymore but some users still use it, can like most of users, won't upgrade.

I'm getting some errors from them about a missing symbol in kernel.dll

GetFinalPathNameByHandleW is missing, this symbol is used by Win32 File functions in the getLinkedTarget method,

i hope to fix this but doing something like:

#if WINVER > 0x06000000 // this means anything newver then win xp sp2

at the top of the method

then

#else // at line 673 (just before File result(*this);

and

#endif

just at the end

 

Maybe something similar could be added to JUCE to keep those XP users riding the magic dragon.

 

edit

I think this should be a runtme check, not a precompiler check, since i'm building on Win7 the symbol will always be there anyway, 

if (SystemStats::getOperatingSystemType() > SystemStats::WinXP)

at the beginning of the method since the block that's using the symbols is in a scope anyway


#2

Any reason for not upgrading up to XP SP3 at least ?


#3

Ok, since it's just that one function call, I can change it to be dynamically loaded, so that should do the trick. But we don't officially care about XP!


#4

thank you.