Funzione GetVersion (sysinfoapi.h)
GetVersion può essere modificato o non disponibile per le versioni dopo Windows 8.1. Usare invece le funzioni helper version. Per le app di Windows 10, vedere Targeting your applications for Windows (Targeting your applications for Windows).
Con il rilascio di Windows 8.1, il comportamento dell'API GetVersion è stato modificato nel valore restituito per la versione del sistema operativo. Il valore restituito dalla funzione GetVersion dipende ora dalla modalità di manifesto dell'applicazione.
Le applicazioni non manifestate per Windows 8.1 o Windows 10 restituiranno il valore della versione del sistema operativo Windows 8 (6.2). Dopo che un'applicazione viene manifestata per una determinata versione del sistema operativo, GetVersion restituirà sempre la versione per cui l'applicazione viene manifestata nelle versioni future. Per manifestare le applicazioni per Windows 8.1 o Windows 10, fare riferimento a Selezione dell'applicazione per Windows.
Sintassi
NOT_BUILD_WINDOWS_DEPRECATE DWORD GetVersion();
Valore restituito
Se la funzione ha esito positivo, il valore restituito include i numeri di versione principale e secondaria del sistema operativo nella parola di ordine basso e le informazioni sulla piattaforma del sistema operativo nella parola di ordine elevato.
Per tutte le piattaforme, la parola in ordine basso contiene il numero di versione del sistema operativo. Il byte di ordine basso di questa parola specifica il numero di versione principale, in notazione esadecimale. Il byte di ordine elevato specifica il numero di versione secondaria (revisione), in notazione esadecimale. Il bit di ordine elevato è zero, i 7 bit successivi rappresentano il numero di build e il byte di ordine basso è 5.
Commenti
La funzione GetVersionEx è stata sviluppata perché molte applicazioni esistenti si sbagliano durante l'analisi del valore DWORD compresso restituito da GetVersion, trasponendo i numeri di versione principale e secondaria. GetVersionEx impone alle applicazioni di esaminare in modo esplicito ogni elemento delle informazioni sulla versione. VerifyVersionInfo elimina ulteriormente il potenziale di errore confrontando la versione di sistema richiesta con la versione di sistema corrente.
Esempio
Il frammento di codice seguente illustra come estrarre informazioni dal valore restituito GetVersion : OSVERSIONINFOEX
#include <windows.h>
#include <stdio.h>
void main()
{
DWORD dwVersion = 0;
DWORD dwMajorVersion = 0;
DWORD dwMinorVersion = 0;
DWORD dwBuild = 0;
dwVersion = GetVersion();
// Get the Windows version.
dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
// Get the build number.
if (dwVersion < 0x80000000)
dwBuild = (DWORD)(HIWORD(dwVersion));
printf("Version is %d.%d (%d)\n",
dwMajorVersion,
dwMinorVersion,
dwBuild);
}
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | sysinfoapi.h (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |