Condividi tramite


Struttura OSVERSIONINFOW (winnt.h)

Contiene informazioni sulla versione del sistema operativo. Le informazioni includono numeri di versione principali e secondari, un numero di build, un identificatore di piattaforma e un testo descrittivo sul sistema operativo. Questa struttura viene usata con la funzione GetVersionEx .

Per ottenere informazioni aggiuntive sulla versione, usare invece la struttura di OSVERSIONINFOEX con GetVersionEx.

Sintassi

typedef struct _OSVERSIONINFOW {
  DWORD dwOSVersionInfoSize;
  DWORD dwMajorVersion;
  DWORD dwMinorVersion;
  DWORD dwBuildNumber;
  DWORD dwPlatformId;
  WCHAR szCSDVersion[128];
} OSVERSIONINFOW, *POSVERSIONINFOW, *LPOSVERSIONINFOW, RTL_OSVERSIONINFOW, *PRTL_OSVERSIONINFOW;

Membri

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 Osservazioni.

dwMinorVersion

Numero di versione secondaria del sistema operativo. Per altre informazioni, vedere Osservazioni.

dwBuildNumber

Numero di build 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 alcun Service Pack, la stringa è vuota.

Osservazioni

Fare affidamento sulle informazioni sulla versione non è il modo migliore per testare una funzionalità. Fare invece riferimento alla documentazione relativa alla funzionalità di interesse. Per altre informazioni sulle tecniche comuni per il rilevamento delle funzionalità, vedere versione del sistema operativo.

Se è necessario un particolare sistema operativo, assicurarsi di usarlo come versione minima supportata, anziché progettare il test per il 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 con etichetta "Altro" 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 che sono state 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 Destinazione dell'applicazione per Windows.
 

Esempi

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 non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

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)

Vedere anche

OSVERSIONINFOEX

API helper della versione