Freigeben über


OSVERSIONINFOW-Struktur (winnt.h)

Enthält Versionsinformationen des Betriebssystems. Die Informationen umfassen Haupt- und Nebenversionsnummern, eine Buildnummer, einen Plattformbezeichner und beschreibenden Text über das Betriebssystem. Diese Struktur wird mit der GetVersionEx--Funktion verwendet.

Um zusätzliche Versionsinformationen zu erhalten, verwenden Sie stattdessen die OSVERSIONINFOEX- Struktur mit GetVersionEx-.

Syntax

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

Angehörige

dwOSVersionInfoSize

Die Größe dieser Datenstruktur in Byte. Legen Sie dieses Element auf sizeof(OSVERSIONINFO)fest.

dwMajorVersion

Die Hauptversionsnummer des Betriebssystems. Weitere Informationen finden Sie in den Hinweisen.

dwMinorVersion

Die Nebenversionsnummer des Betriebssystems. Weitere Informationen finden Sie in den Hinweisen.

dwBuildNumber

Die Buildnummer des Betriebssystems.

dwPlatformId

Die Betriebssystemplattform. Dieses Element kann der folgende Wert sein.

Wert Bedeutung
VER_PLATFORM_WIN32_NT
2
Das Betriebssystem ist Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP oder Windows 2000.

szCSDVersion[128]

Eine mit Null beendete Zeichenfolge, z. B. "Service Pack 3", die das neueste Service Pack angibt, das auf dem System installiert ist. Wenn kein Service Pack installiert wurde, ist die Zeichenfolge leer.

Bemerkungen

Das Vertrauen auf Versionsinformationen ist nicht die beste Methode, um ein Feature zu testen. Lesen Sie stattdessen die Dokumentation für das interessante Feature. Weitere Informationen zu allgemeinen Techniken für die Featureerkennung finden Sie unter Betriebssystemversion.

Wenn Sie ein bestimmtes Betriebssystem benötigen, müssen Sie es unbedingt als mindest unterstützte Version verwenden, anstatt den Test für das ein Betriebssystem zu entwerfen. Auf diese Weise funktioniert Ihr Erkennungscode weiterhin für zukünftige Versionen von Windows.

In der folgenden Tabelle sind die von unterstützten Versionen von Windows zurückgegebenen Werte zusammengefasst. Verwenden Sie die Informationen in der Spalte mit der Bezeichnung "Sonstige", um zwischen Betriebssystemen mit identischen Versionsnummern zu unterscheiden.

Betriebssystem Versionsnummer dwMajorVersion dwMinorVersion- Andere
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 Nicht zutreffend
Windows 2000 5.0 5 0 Nicht zutreffend
* Für Anwendungen, die für Windows 8.1 oder Windows 10 manifestiert wurden. Für Windows 8.1 oder Windows 10 nicht manifestierte Anwendungen geben den Windows 8-Betriebssystemversionswert (6.2) zurück. Informationen zum Manifestieren Ihrer Anwendungen für Windows 8.1 oder Windows 10 finden Sie unter Targeting your application for Windows.
 

Beispiele

Ein Beispiel finden Sie unter Abrufen der Systemversion.

Anmerkung

Der winnt.h-Header definiert OSVERSIONINFO als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Header- winnt.h (enthalten Windows.h)

Siehe auch

OSVERSIONINFOEX-

Versionshilfs-APIs