Struktur OSVERSIONINFOEXW (wdm.h)

Struktur RTL_OSVERSIONINFOEXW berisi informasi versi sistem operasi.

Sintaks

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;

Anggota

dwOSVersionInfoSize

Ukuran, dalam byte, dari struktur RTL_OSVERSIONINFOEXW . Anggota ini harus diatur sebelum struktur digunakan dengan RtlGetVersion.

dwMajorVersion

Nomor versi utama sistem operasi. Misalnya, untuk Windows 2000, nomor versi utama adalah lima. Untuk informasi selengkapnya, lihat tabel di Keterangan.

dwMinorVersion

Nomor versi minor sistem operasi. Misalnya, untuk Windows 2000, nomor versi minor adalah nol. Untuk informasi selengkapnya, lihat tabel di Keterangan.

dwBuildNumber

Nomor build sistem operasi.

dwPlatformId

Platform sistem operasi. Untuk Win32 pada sistem operasi berbasis NT, RtlGetVersion mengembalikan nilai VER_PLATFORM_WIN32_NT.

szCSDVersion[128]

String versi paket layanan. Anggota ini berisi string yang dihentikan null, seperti "Paket Layanan 3", yang menunjukkan paket layanan terbaru yang diinstal pada sistem. Jika tidak ada paket layanan yang diinstal, RtlGetVersion mungkin tidak menginisialisasi string ini. Inisialisasi szCSDVersion ke nol (string kosong) sebelum panggilan ke RtlGetVersion.

wServicePackMajor

Nomor versi utama dari paket layanan terbaru yang diinstal pada sistem. Misalnya, untuk Paket Layanan 3, nomor versi utama adalah tiga. Jika tidak ada paket layanan yang diinstal, nilainya adalah nol.

wServicePackMinor

Nomor versi minor dari paket layanan terbaru yang diinstal pada sistem. Misalnya, untuk Paket Layanan 3, nomor versi minor adalah nol.

wSuiteMask

Suite produk tersedia di sistem. Anggota ini diatur ke nol atau ke bitwise ATAU dari satu atau beberapa nilai berikut.

Nilai Makna
VER_SUITE_BACKOFFICE Komponen Microsoft BackOffice diinstal.
VER_SUITE_BLADE Windows Server 2003, Edisi Web diinstal.
VER_SUITE_COMPUTE_SERVER Windows Server 2003, Edisi Kluster Komputasi diinstal.
VER_SUITE_DATACENTER Pusat Data Windows Server 2008, Windows Server 2003, Edisi Pusat Data, atau Server Pusat Data Windows 2000 diinstal.
VER_SUITE_ENTERPRISE Windows Server 2008 Enterprise, Windows Server 2003, Enterprise Edition, atau Windows 2000 Advanced Server diinstal.
VER_SUITE_EMBEDDEDNT Windows XP Embedded terinstal.
VER_SUITE_PERSONAL Windows Vista Home Premium, Windows Vista Home Basic, atau Windows XP Home Edition terinstal.
VER_SUITE_SINGLEUSERTS Desktop Jauh didukung, tetapi hanya satu sesi interaktif yang didukung. Nilai ini diatur kecuali sistem berjalan dalam mode server aplikasi.
VER_SUITE_SMALLBUSINESS (lihat catatan) Microsoft Small Business Server pernah diinstal pada sistem, tetapi mungkin telah dimutakhirkan ke versi Windows lain. Untuk informasi selengkapnya tentang bit bendera ini, lihat bagian Keterangan berikut.
VER_SUITE_SMALLBUSINESS_RESTRICTED Microsoft Small Business Server diinstal dengan lisensi klien terbatas yang berlaku. Untuk informasi selengkapnya tentang bit bendera ini, lihat bagian Keterangan berikut.
VER_SUITE_STORAGE_SERVER Windows Storage Server 2003 R2 atau Windows Storage Server 2003 diinstal.
VER_SUITE_TERMINAL Layanan Terminal diinstal. Nilai ini selalu diatur. Jika VER_SUITE_TERMINAL diatur tetapi VER_SUITE_SINGLEUSERTS tidak diatur, sistem operasi berjalan dalam mode server aplikasi.
VER_SUITE_WH_SERVER Windows Home Server terinstal.

Anda tidak boleh hanya mengandalkan bendera VER_SUITE_SMALLBUSINESS untuk menentukan apakah Small Business Server saat ini diinstal. Bendera ini dan bendera VER_SUITE_SMALLBUSINESS_RESTRICTED diatur saat rangkaian produk ini diinstal. Jika Anda memutakhirkan penginstalan ini ke Windows Server, Edisi Standar, bendera VER_SUITE_SMALLBUSINESS_RESTRICTED dihapus, tetapi bendera VER_SUITE_SMALLBUSINESS tetap ditetapkan, yang, dalam hal ini, menunjukkan bahwa Small Business Server sebelumnya diinstal pada sistem ini. Jika penginstalan ini ditingkatkan lebih lanjut ke Windows Server, Edisi Perusahaan, bendera VER_SUITE_SMALLBUSINESS tetap diatur.

wProductType

Jenis produk. Anggota ini berisi informasi tambahan tentang sistem. Anggota ini bisa menjadi salah satu nilai berikut:

Nilai Makna
VER_NT_WORKSTATION Windows 2000 atau versi profesional yang lebih baru
VER_NT_DOMAIN_CONTROLLER Pengontrol domain Windows 2000 atau yang lebih baru
VER_NT_SERVER Server Windows 2000 atau yang lebih baru

wReserved

Disiapkan untuk penggunaan masa mendatang.

Keterangan

Informasi dalam struktur ini mencakup nomor versi utama dan minor, nomor build, pengidentifikasi platform, suite produk yang diinstal, dan paket layanan terbaru yang diinstal pada sistem. Struktur ini digunakan dengan rutinitas RtlGetVersion dan RtlVerifyVersionInfo .

Mengandalkan informasi versi tidak selalu merupakan cara terbaik untuk menguji apakah fitur tersedia. Untuk panduan, lihat dokumentasi untuk fitur yang Anda minati.

Jika memungkinkan, rancang kode deteksi versi di driver Anda untuk memungkinkan driver berjalan pada versi Windows yang akan datang. Jika driver Anda memerlukan versi sistem operasi tertentu, pastikan untuk memperlakukan versi ini sebagai versi minimum yang didukung, dan bukan sebagai satu-satunya versi di mana driver dapat berjalan.

Tabel berikut ini meringkas informasi versi yang dikembalikan oleh versi Windows yang didukung. Gunakan informasi di kolom "Lainnya" atau nomor build untuk membedakan antara sistem operasi dengan nomor versi yang identik.

Sistem operasi Nomor Versi dwMajorVersion dwMinorVersion Lainnya
Windows 11 10.0 10 0 wProductType == VER_NT_WORKSTATION
Windows Server 2022 10.0 10 0 wProductType != VER_NT_WORKSTATION
Server Windows 2019 10.0 10 0 wProductType != VER_NT_WORKSTATION
Windows 10 (semua rilis) 10.0 10 0 wProductType == VER_NT_WORKSTATION
Server Windows 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 Tidak berlaku
Windows XP Professional x64 Edition (lihat catatan) 5.2 5 2 wProductType == VER_NT_WORKSTATION
Windows XP 5.1 5 1 Tidak berlaku
Windows 2000 5.0 5 0 Tidak berlaku

Hanya driver mode kernel 64-bit yang dapat berjalan pada Windows XP Professional x64 Edition. Oleh karena itu, driver mode kernel 32-bit dapat menghilangkan pemeriksaan windows versi ini dengan aman.

Persyaratan

Persyaratan Nilai
Header wdm.h (termasuk Ntddk.h)

Lihat juga

RTL_OSVERSIONINFOW

RtlGetVersion

RtlVerifyVersionInfo