sorry Casper, I have to insist: OSVERSIONINFOEX *derives* from OSVERSIONINFO. It's not just a matter of field names and types, it's a type-checking issue. At least for C++, it has to be inheritance. For C, it's temporarily commented out, until there's a macro to specify if the compiler supports unnamed structure members

svn path=/trunk/; revision=4136
This commit is contained in:
KJK::Hyperion 2003-02-10 23:18:41 +00:00
parent 1e6fba5a39
commit d470f18cfb

View file

@ -2923,33 +2923,49 @@ typedef OSVERSIONINFOW OSVERSIONINFO;
#endif
typedef struct _OSVERSIONINFOEXA
#if defined(__cplusplus)
: public OSVERSIONINFOA
{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[ 128 ];
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
#elif 0
{
OSVERSIONINFOA;
#else
{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[ 128 ];
#endif
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA;
typedef struct _OSVERSIONINFOEXW
#if defined(__cplusplus)
: public OSVERSIONINFOW
{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[ 128 ];
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
#elif 0
{
OSVERSIONINFOW;
#else
{
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
WCHAR szCSDVersion[ 128 ];
#endif
WORD wServicePackMajor;
WORD wServicePackMinor;
WORD wSuiteMask;
BYTE wProductType;
BYTE wReserved;
} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW;
#ifdef UNICODE