Struttura OSVERSIONINFOA (winnt.h)
Contiene informazioni sulla versione del sistema operativo. Le informazioni includono numeri di versione principali e secondari, un numero di compilazione, un identificatore della piattaforma e un testo descrittivo sul sistema operativo. Questa struttura viene usata con la funzione GetVersionEx .
Per ottenere informazioni sulla versione aggiuntive, usare invece la struttura OSVERSIONINFOEX con GetVersionEx .
Sintassi
typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
Members
dwOSVersionInfoSize
Dimensioni di questa struttura di dati, in byte. Impostare questo membro su sizeof(OSVERSIONINFO)
.
dwMajorVersion
Numero di versione principale del sistema operativo. Per altre informazioni, vedere la sezione Osservazioni.
dwMinorVersion
Numero di versione secondaria del sistema operativo. Per altre informazioni, vedere la sezione Osservazioni.
dwBuildNumber
Numero di compilazione del sistema operativo.
dwPlatformId
Piattaforma del sistema operativo. Questo membro può essere il valore seguente.
Valore | Significato |
---|---|
|
Il sistema operativo è Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP o Windows 2000. |
szCSDVersion[128]
Stringa con terminazione null, ad esempio "Service Pack 3", che indica l'ultimo Service Pack installato nel sistema. Se non è stato installato service Pack, la stringa è vuota.
Commenti
L'uso delle informazioni sulla versione non è il modo migliore per testare una funzionalità. Fare invece riferimento alla documentazione per la funzionalità di interesse. Per altre informazioni sulle tecniche comuni per il rilevamento delle funzionalità, vedere Versione del sistema operativo.
Se è necessario richiedere un particolare sistema operativo, assicurarsi di usarlo come versione minima supportata, anziché progettare il test per un sistema operativo. In questo modo, il codice di rilevamento continuerà a funzionare sulle versioni future di Windows.
La tabella seguente riepiloga i valori restituiti dalle versioni supportate di Windows. Usare le informazioni nella colonna etichettata "Other" per distinguere tra i sistemi operativi con numeri di versione identici.
Sistema operativo | Numero di versione | dwMajorVersion | dwMinorVersion | Altro |
---|---|---|---|---|
Windows 10 | 10.0* | 10 | 0 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2016 | 10.0* | 10 | 0 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows 8.1 | 6.3* | 6 | 3 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2012 R2 | 6.3* | 6 | 3 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows 8 | 6,2 | 6 | 2 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2012 | 6,2 | 6 | 2 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows 7 | 6.1 | 6 | 1 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2008 R2 | 6.1 | 6 | 1 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows Server 2008 | 6.0 | 6 | 0 | OSVERSIONINFOEX.wProductType != VER_NT_WORKSTATION |
Windows Vista | 6.0 | 6 | 0 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Windows Server 2003 R2 | 5,2 | 5 | 2 | GetSystemMetrics(SM_SERVERR2) != 0 |
Windows Server 2003 | 5,2 | 5 | 2 | GetSystemMetrics(SM_SERVERR2) == 0 |
Windows XP | 5.1 | 5 | 1 | Non applicabile |
Windows 2000 | 5.0 | 5 | 0 | Non applicabile |
*Per le applicazioni manifestate per Windows 8.1 o Windows 10. Le applicazioni non manifestate per Windows 8.1 o Windows 10 restituiranno il valore della versione del sistema operativo Windows 8 (6.2). Per manifestare le applicazioni per Windows 8.1 o Windows 10, fare riferimento a Selezione dell'applicazione per Windows. |
Esempio
Per un esempio, vedere Recupero della versione di sistema.
Nota
L'intestazione winnt.h definisce OSVERSIONINFO come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Intestazione | winnt.h (include Windows.h) |