Auf Englisch lesen

Freigeben über


OSVERSIONINFOEXW-Struktur (wdm.h)

Die RTL_OSVERSIONINFOEXW-Struktur enthält Versionsinformationen des Betriebssystems.

Syntax

C++
typedef struct _OSVERSIONINFOEXW {
  ULONG  dwOSVersionInfoSize;
  ULONG  dwMajorVersion;
  ULONG  dwMinorVersion;
  ULONG  dwBuildNumber;
  ULONG  dwPlatformId;
  WCHAR  szCSDVersion[128];
  USHORT wServicePackMajor;
  USHORT wServicePackMinor;
  USHORT wSuiteMask;
  UCHAR  wProductType;
  UCHAR  wReserved;
} OSVERSIONINFOEXW, *POSVERSIONINFOEXW, *LPOSVERSIONINFOEXW, RTL_OSVERSIONINFOEXW, *PRTL_OSVERSIONINFOEXW;

Angehörige

dwOSVersionInfoSize

Die Größe einer RTL_OSVERSIONINFOEXW Struktur in Byte. Dieses Element muss festgelegt werden, bevor die Struktur mit RtlGetVersion-verwendet wird.

dwMajorVersion

Die Hauptversionsnummer des Betriebssystems. Für Windows 2000 ist beispielsweise die Hauptversionsnummer fünf. Weitere Informationen finden Sie in der Tabelle in den Anmerkungen.

dwMinorVersion

Die Nebenversionsnummer des Betriebssystems. Für Windows 2000 ist beispielsweise die Nebenversionsnummer null. Weitere Informationen finden Sie in der Tabelle in den Anmerkungen.

dwBuildNumber

Die Buildnummer des Betriebssystems.

dwPlatformId

Die Betriebssystemplattform. Für Win32 auf NT-basierten Betriebssystemen gibt RtlGetVersion den Wert VER_PLATFORM_WIN32_NT zurück.

szCSDVersion[128]

Die Service Pack-Versionszeichenfolge. Dieses Element enthält 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 ist, initialisieren RtlGetVersion- diese Zeichenfolge möglicherweise nicht. Initialisieren Sie szCSDVersion auf Null (leere Zeichenfolge) vor dem Aufruf von RtlGetVersion.

wServicePackMajor

Die Hauptversionsnummer des neuesten Service Packs, das auf dem System installiert ist. For example, for Service Pack 3, the major version number is three. Wenn kein Service Pack installiert wurde, ist der Wert null.

wServicePackMinor

Die Nebenversionsnummer des neuesten Service Packs, das auf dem System installiert ist. For example, for Service Pack 3, the minor version number is zero.

wSuiteMask

Die im System verfügbaren Produktsuiten. Dieses Element wird auf Null oder auf den bitweisen OR eines oder mehrerer der folgenden Werte festgelegt.

Wert Bedeutung
VER_SUITE_BACKOFFICE Microsoft BackOffice-Komponenten werden installiert.
VER_SUITE_BLADE Windows Server 2003, Web Edition ist installiert.
VER_SUITE_COMPUTE_SERVER Windows Server 2003, Compute Cluster Edition ist installiert.
VER_SUITE_DATACENTER Windows Server 2008 Datacenter, Windows Server 2003, Datacenter Edition oder Windows 2000 Datacenter Server ist installiert.
VER_SUITE_ENTERPRISE Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition oder Windows 2000 Advanced Server ist installiert.
VER_SUITE_EMBEDDEDNT Windows XP Embedded ist installiert.
VER_SUITE_PERSONAL Windows Vista Home Premium, Windows Vista Home Basic oder Windows XP Home Edition ist installiert.
VER_SUITE_SINGLEUSERTS Remotedesktop wird unterstützt, aber nur eine interaktive Sitzung wird unterstützt. Dieser Wert wird festgelegt, es sei denn, das System wird im Anwendungsservermodus ausgeführt.
VER_SUITE_SMALLBUSINESS (siehe Hinweis) Microsoft Small Business Server wurde einmal auf dem System installiert, wurde aber möglicherweise auf eine andere Version von Windows aktualisiert. Weitere Informationen zu diesem Flagbit finden Sie im folgenden Abschnitt "Hinweise".
VER_SUITE_SMALLBUSINESS_RESTRICTED Microsoft Small Business Server wird mit der restriktiven Clientlizenz installiert. Weitere Informationen zu diesem Flagbit finden Sie im folgenden Abschnitt "Hinweise".
VER_SUITE_STORAGE_SERVER Windows Storage Server 2003 R2 oder Windows Storage Server 2003 ist installiert.
VER_SUITE_TERMINAL Terminaldienste werden installiert. Dieser Wert wird immer festgelegt. Wenn VER_SUITE_TERMINAL festgelegt, aber VER_SUITE_SINGLEUSERTS nicht festgelegt ist, wird das Betriebssystem im Anwendungsservermodus ausgeführt.
VER_SUITE_WH_SERVER Windows Home Server ist installiert.

Sie sollten sich nicht ausschließlich auf das VER_SUITE_SMALLBUSINESS-Flag verlassen, um festzustellen, ob Small Business Server derzeit installiert ist. Sowohl dieses Kennzeichen als auch das VER_SUITE_SMALLBUSINESS_RESTRICTED Flag werden festgelegt, wenn diese Produktsuite installiert wird. Wenn Sie diese Installation auf Windows Server, Standard Edition, aktualisieren, wird das VER_SUITE_SMALLBUSINESS_RESTRICTED-Flag gelöscht, aber das VER_SUITE_SMALLBUSINESS Flag bleibt festgelegt, was in diesem Fall angibt, dass Small Business Server zuvor auf diesem System installiert wurde. Wenn diese Installation auf Windows Server, Enterprise Edition, weiter aktualisiert wird, bleibt das VER_SUITE_SMALLBUSINESS Flag festgelegt.

wProductType

Der Produkttyp. Dieses Mitglied enthält zusätzliche Informationen zum System. Dieses Element kann einer der folgenden Werte sein:

Wert Bedeutung
VER_NT_WORKSTATION Windows 2000 oder höher professional version
VER_NT_DOMAIN_CONTROLLER Windows 2000- oder höher-Domänencontroller
VER_NT_SERVER Windows 2000 oder höherer Server

wReserved

Reserviert für die zukünftige Verwendung.

Bemerkungen

Die Informationen in dieser Struktur umfassen die Haupt- und Nebenversionsnummern, die Buildnummer, die Plattform-ID, die installierten Produktsammlungen und das neueste Service Pack, das auf dem System installiert ist. Diese Struktur wird mit den RtlGetVersion- und RtlVerifyVersionInfo Routinen verwendet.

Das Vertrauen auf Versionsinformationen ist nicht immer die beste Methode, um zu testen, ob ein Feature verfügbar ist. Eine Anleitung finden Sie in der Dokumentation für das Feature, an dem Sie interessiert sind.

Entwerfen Sie nach Möglichkeit den Versionserkennungscode in Ihrem Treiber, damit der Treiber auf zukünftigen Versionen von Windows ausgeführt werden kann. Wenn Ihr Treiber eine bestimmte Betriebssystemversion erfordert, achten Sie darauf, diese Version als mindest unterstützte Version zu behandeln und nicht als die einzige Version, auf der der Treiber ausgeführt werden kann.

In der folgenden Tabelle sind die Versionsinformationen zusammengefasst, die von unterstützten Versionen von Windows zurückgegeben werden. Verwenden Sie die Informationen in der Spalte "Sonstige" oder Buildnummer, um zwischen Betriebssystemen mit identischen Versionsnummern zu unterscheiden.

Betriebssystem Versionsnummer dwMajorVersion dwMinorVersion Andere
Windows 11 10.0 10 0 wProductType == VER_NT_WORKSTATION
Windows Server 2022 10.0 10 0 wProductType != VER_NT_WORKSTATION
Windows Server 2019 10.0 10 0 wProductType != VER_NT_WORKSTATION
Windows 10 (alle Versionen) 10.0 10 0 wProductType == VER_NT_WORKSTATION
Windows Server 2016 10.0 10 0 wProductType != VER_NT_WORKSTATION
Windows Server 2012 R2 6.3 6 3 wProductType != VER_NT_WORKSTATION
Windows 8.1 6.3 6 3 wProductType == VER_NT_WORKSTATION
Windows 8 6.2 6 2 wProductType == VER_NT_WORKSTATION
Windows Server 2012 6.2 6 2 wProductType != VER_NT_WORKSTATION
Windows 7 6.1 6 1 wProductType == VER_NT_WORKSTATION
Windows Server 2008 R2 6.1 6 1 wProductType != VER_NT_WORKSTATION
Windows Server 2008 6.0 6 0 wProductType != VER_NT_WORKSTATION
Windows Vista 6.0 6 0 wProductType == VER_NT_WORKSTATION
Windows Home Server 5.2 5 2 wSuiteMask == VER_SUITE_WH_SERVER
Windows Server 2003 5.2 5 2 Nicht zutreffend
Windows XP Professional x64 Edition (siehe Hinweis) 5.2 5 2 wProductType == VER_NT_WORKSTATION
Windows XP 5.1 5 1 Nicht zutreffend
Windows 2000 5.0 5 0 Nicht zutreffend

Nur ein 64-Bit-Kernelmodustreiber kann unter Windows XP Professional x64 Edition ausgeführt werden. Daher kann ein 32-Bit-Kernelmodustreiber die Überprüfung dieser Windows-Version sicher weglassen.

Anforderungen

Anforderung Wert
Header- wdm.h (include Ntddk.h)

Siehe auch

RTL_OSVERSIONINFOW

RtlGetVersion-

RtlVerifyVersionInfo