Share via


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
VER_PLATFORM_WIN32_NT
2
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)

Vedi anche

OSVERSIONINFOEX

API helper della versione