Changeset 7577
- Timestamp:
- Dec 8, 2001, 3:49:17 PM (23 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/include/win/winbase.h ¶
r7557 r7577 1248 1248 1249 1249 DECL_WINELIB_TYPE_AW(OSVERSIONINFO) 1250 1251 typedef struct _OSVERSIONINFOEXA { 1252 DWORD dwOSVersionInfoSize; 1253 DWORD dwMajorVersion; 1254 DWORD dwMinorVersion; 1255 DWORD dwBuildNumber; 1256 DWORD dwPlatformId; 1257 CHAR szCSDVersion[128]; 1258 WORD wServicePackMajor; 1259 WORD wServicePackMinor; 1260 WORD wReserved[2]; 1261 } OSVERSIONINFOEXA, *POSVERSIONINFOEXA, *LPOSVERSIONINFOEXA; 1262 typedef struct _OSVERSIONINFOEXW { 1263 DWORD dwOSVersionInfoSize; 1264 DWORD dwMajorVersion; 1265 DWORD dwMinorVersion; 1266 DWORD dwBuildNumber; 1267 DWORD dwPlatformId; 1268 WCHAR szCSDVersion[128]; 1269 WORD wServicePackMajor; 1270 WORD wServicePackMinor; 1271 WORD wReserved[2]; 1272 } OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW; 1273 1274 DECL_WINELIB_TYPE_AW(OSVERSIONINFOEX) 1275 DECL_WINELIB_TYPE_AW(POSVERSIONINFOEX) 1276 DECL_WINELIB_TYPE_AW(LPOSVERSIONINFOEX) 1250 1277 1251 1278 #define VER_PLATFORM_WIN32s 0 -
TabularUnified trunk/src/kernel32/version.cpp ¶
r7573 r7577 1 /* $Id: version.cpp,v 1. 5 2001-12-08 12:01:28sandervl Exp $ */1 /* $Id: version.cpp,v 1.6 2001-12-08 14:48:54 sandervl Exp $ */ 2 2 3 3 /* … … 42 42 typedef struct 43 43 { 44 LONG getVersion16;45 LONG getVersion;46 OSVERSIONINFO A getVersionEx;44 LONG getVersion16; 45 LONG getVersion; 46 OSVERSIONINFOEXA getVersionEx; 47 47 } VERSION_DATA; 48 48 … … 55 55 { 56 56 sizeof(OSVERSIONINFOA), 4, 10, 0x40A07CE, 57 VER_PLATFORM_WIN32_WINDOWS, "Win98" 57 VER_PLATFORM_WIN32_WINDOWS, "Win98", 58 0, 0, 0, 0 58 59 } 59 60 }, … … 64 65 { 65 66 sizeof(OSVERSIONINFOA), 4, 90, 0x45A0BB8, 66 VER_PLATFORM_WIN32_WINDOWS, " " 67 VER_PLATFORM_WIN32_WINDOWS, " ", 68 0, 0, 0, 0 67 69 } 68 70 }, … … 73 75 { 74 76 sizeof(OSVERSIONINFOA), ODINNT_MAJOR_VERSION, ODINNT_MINOR_VERSION, 75 ODINNT_BUILD_NR, VER_PLATFORM_WIN32_NT, ODINNT_CSDVERSION 77 ODINNT_BUILD_NR, VER_PLATFORM_WIN32_NT, ODINNT_CSDVERSION, 78 6, 0, 0, 0 76 79 } 77 80 }, … … 82 85 { 83 86 sizeof(OSVERSIONINFOA), 5, 0, 0x893, 84 VER_PLATFORM_WIN32_NT, "Service Pack 2" 87 VER_PLATFORM_WIN32_NT, "Service Pack 2", 88 2, 0, 0, 0 85 89 } 86 90 }, … … 91 95 { 92 96 sizeof(OSVERSIONINFOA), 5, 1, 0xA28, 93 VER_PLATFORM_WIN32_NT, "" 97 VER_PLATFORM_WIN32_NT, "", 98 0, 0, 0, 0 94 99 } 95 100 } … … 155 160 return(FALSE); 156 161 } 157 if(lpVersionInformation->dwOSVersionInfoSize !=sizeof(OSVERSIONINFOA))162 if(lpVersionInformation->dwOSVersionInfoSize < sizeof(OSVERSIONINFOA)) 158 163 { 159 164 dprintf(("ERROR: buffer too small (%d != %d)", lpVersionInformation->dwOSVersionInfoSize, sizeof(OSVERSIONINFOA))); … … 171 176 strcpy(lpVersionInformation->szCSDVersion, VersionData[winversion].getVersionEx.szCSDVersion ); 172 177 178 if(lpVersionInformation->dwOSVersionInfoSize == sizeof(OSVERSIONINFOEXA)) 179 {//Windows 2000 (and up) extension 180 LPOSVERSIONINFOEXA lpVersionExInformation = (LPOSVERSIONINFOEXA)lpVersionInformation; 181 182 lpVersionExInformation->wServicePackMajor = VersionData[winversion].getVersionEx.wServicePackMajor; 183 lpVersionExInformation->wServicePackMinor = VersionData[winversion].getVersionEx.wServicePackMinor; 184 lpVersionExInformation->wReserved[0] = VersionData[winversion].getVersionEx.wReserved[0]; 185 lpVersionExInformation->wReserved[1] = VersionData[winversion].getVersionEx.wReserved[1]; 186 } 173 187 SetLastError(ERROR_SUCCESS); 174 188 return(TRUE); … … 186 200 return(FALSE); 187 201 } 188 if(lpVersionInformation->dwOSVersionInfoSize !=sizeof(OSVERSIONINFOW))202 if(lpVersionInformation->dwOSVersionInfoSize < sizeof(OSVERSIONINFOW)) 189 203 { 190 204 dprintf(("ERROR: buffer too small")); … … 201 215 lpVersionInformation->dwPlatformId = VersionData[winversion].getVersionEx.dwPlatformId; 202 216 lstrcpyAtoW(lpVersionInformation->szCSDVersion, VersionData[winversion].getVersionEx.szCSDVersion); 217 218 if(lpVersionInformation->dwOSVersionInfoSize == sizeof(OSVERSIONINFOEXW)) 219 {//Windows 2000 (and up) extension 220 LPOSVERSIONINFOEXW lpVersionExInformation = (LPOSVERSIONINFOEXW)lpVersionInformation; 221 222 lpVersionExInformation->wServicePackMajor = VersionData[winversion].getVersionEx.wServicePackMajor; 223 lpVersionExInformation->wServicePackMinor = VersionData[winversion].getVersionEx.wServicePackMinor; 224 lpVersionExInformation->wReserved[0] = VersionData[winversion].getVersionEx.wReserved[0]; 225 lpVersionExInformation->wReserved[1] = VersionData[winversion].getVersionEx.wReserved[1]; 226 } 203 227 SetLastError(ERROR_SUCCESS); 204 228 return(TRUE);
Note:
See TracChangeset
for help on using the changeset viewer.