Dan Mitchell
2005-09-30 01:03:06 UTC
We have a unicode app (working just fine with unicows) that needs to
check the version of one of our DLLs. The DLL is non-unicode, and works
fine if we load it and call our functions on it. (though none of those
functions pass strings as parameters).
The problem is that if we call GetFileVersionInfoSize() on that DLL, we
get an error back and GetLastError() returns 120 ("the function is not
supported").
It works fine on WinXP etc, so it seems to be just something about
unicode. (and it didn't do this before we switched our main app to
unicode).
Is there anything we can do about this? If I try guessing that 64k should
be enough as a safe fake return from GetFileVersionInfoSize(), the call to
GetFileVersionInfo() fails the same way (getlasterror=120), and I don't
think I can usefully spoof the call to that.
thanks,
-- dan
check the version of one of our DLLs. The DLL is non-unicode, and works
fine if we load it and call our functions on it. (though none of those
functions pass strings as parameters).
The problem is that if we call GetFileVersionInfoSize() on that DLL, we
get an error back and GetLastError() returns 120 ("the function is not
supported").
It works fine on WinXP etc, so it seems to be just something about
unicode. (and it didn't do this before we switched our main app to
unicode).
Is there anything we can do about this? If I try guessing that 64k should
be enough as a safe fake return from GetFileVersionInfoSize(), the call to
GetFileVersionInfo() fails the same way (getlasterror=120), and I don't
think I can usefully spoof the call to that.
thanks,
-- dan