OSVERSIONINFOA-Struktur (winnt.h)
Enthält Informationen zur Betriebssystemversion. Die Informationen enthalten Haupt- und Nebenversionsnummern, eine Buildnummer, einen Plattformbezeichner und beschreibenden Text über das Betriebssystem. Diese Struktur wird mit der GetVersionEx-Funktion verwendet.
Verwenden Sie zum Abrufen zusätzlicher Versionsinformationen stattdessen die OSVERSIONINFOEX-Struktur mit GetVersionEx .
Syntax
typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
Member
dwOSVersionInfoSize
Die Größe dieser Datenstruktur in Bytes. Legen Sie dieses Element auf fest sizeof(OSVERSIONINFO)
.
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. Dieser Member kann der folgende Wert sein.
Wert | Bedeutung |
---|---|
|
Das Betriebssystem ist Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP oder Windows 2000. |
szCSDVersion[128]
Eine null-endende 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.
Hinweise
Die Verwendung von Versionsinformationen ist nicht die beste Methode, um ein Feature zu testen. Lesen Sie stattdessen die Dokumentation für das feature of interest. Weitere Informationen zu gängigen Techniken für die Featureerkennung finden Sie unter Betriebssystemversion.
Wenn Sie ein bestimmtes Betriebssystem benötigen, stellen Sie sicher, dass Sie es als unterstützte Mindestversion verwenden, anstatt den Test für das eine Betriebssystem zu entwerfen. Auf diese Weise funktioniert Ihr Erkennungscode auch in zukünftigen Versionen von Windows.
In der folgenden Tabelle sind die Werte zusammengefasst, die von unterstützten Versionen von Windows zurückgegeben werden. Verwenden Sie die Informationen in der Spalte mit der Bezeichnung "Sonstige", um zwischen Betriebssystemen mit identischen Versionsnummern zu unterscheiden.
Betriebssystem | Versionsnummer | dwMajorVersion | dwMinorVersion | Sonstiges |
---|---|---|---|---|
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. Anwendungen, die nicht für Windows 8.1 oder Windows 10 manifestiert werden, geben den Wert der Windows 8 Betriebssystemversion (6.2) zurück. Informationen zum Manifestieren Ihrer Anwendungen für Windows 8.1 oder Windows 10 finden Sie unter Targeting ihrer Anwendung für Windows. |
Beispiele
Ein Beispiel finden Sie unter Abrufen der Systemversion.
Hinweis
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 |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Kopfzeile | winnt.h (windows.h einschließen) |