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
VER_PLATFORM_WIN32_NT
2
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)

Lihat juga

OSVERSIONINFOEX

API Pembantu Versi