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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk