Struktur OSVERSIONINFOA (winnt.h)
Berisi informasi versi sistem operasi. Informasi tersebut mencakup nomor versi utama dan minor, nomor build, pengidentifikasi platform, dan teks deskriptif tentang sistem operasi. Struktur ini digunakan dengan fungsi GetVersionEx .
Untuk mendapatkan informasi versi tambahan, gunakan struktur OSVERSIONINFOEX dengan GetVersionEx sebagai gantinya.
Sintaks
typedef struct _OSVERSIONINFOA {
DWORD dwOSVersionInfoSize;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
DWORD dwBuildNumber;
DWORD dwPlatformId;
CHAR szCSDVersion[128];
} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;
Anggota
dwOSVersionInfoSize
Ukuran struktur data ini, dalam byte. Atur anggota ini ke sizeof(OSVERSIONINFO)
.
dwMajorVersion
Nomor versi utama sistem operasi. Untuk informasi selengkapnya, lihat Keterangan.
dwMinorVersion
Nomor versi minor sistem operasi. Untuk informasi selengkapnya, lihat Keterangan.
dwBuildNumber
Nomor build sistem operasi.
dwPlatformId
Platform sistem operasi. Anggota ini bisa menjadi nilai berikut.
Nilai | Makna |
---|---|
|
Sistem operasinya adalah Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP, atau Windows 2000. |
szCSDVersion[128]
String yang dihentikan null, seperti "Paket Layanan 3", yang menunjukkan Paket Layanan terbaru yang diinstal pada sistem. Jika tidak ada Paket Layanan yang diinstal, string kosong.
Keterangan
Mengandalkan informasi versi bukanlah cara terbaik untuk menguji fitur. Sebagai gantinya, lihat dokumentasi untuk fitur yang menarik. Untuk informasi selengkapnya tentang teknik umum untuk deteksi fitur, lihat Versi Sistem Operasi.
Jika Anda harus memerlukan sistem operasi tertentu, pastikan untuk menggunakannya sebagai versi minimum yang didukung, daripada merancang pengujian untuk satu sistem operasi. Dengan cara ini, kode deteksi Anda akan terus berfungsi pada versi Windows yang akan datang.
Tabel berikut ini meringkas nilai yang dikembalikan oleh versi Windows yang didukung. Gunakan informasi dalam kolom berlabel "Lainnya" untuk membedakan antara sistem operasi dengan nomor versi yang identik.
Sistem operasi | Nomor Versi | dwMajorVersion | dwMinorVersion | Lainnya |
---|---|---|---|---|
Windows 10 | 10.0* | 10 | 0 | OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION |
Server Windows 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 | Tidak berlaku |
Windows 2000 | 5.0 | 5 | 0 | Tidak berlaku |
*Untuk aplikasi yang telah dimanifestasikan untuk Windows 8.1 atau Windows 10. Aplikasi yang tidak dimanifestasikan untuk Windows 8.1 atau Windows 10 akan mengembalikan nilai versi OS Windows 8 (6.2). Untuk memanifestasikan aplikasi Anda untuk Windows 8.1 atau Windows 10, lihat Menargetkan aplikasi Anda untuk Windows. |
Contoh
Misalnya, lihat Mendapatkan Versi Sistem.
Catatan
Header winnt.h mendefinisikan OSVERSIONINFO sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | winnt.h (sertakan Windows.h) |