Fungsi GetVersionExW (sysinfoapi.h)

[GetVersionEx dapat diubah atau tidak tersedia untuk rilis setelah Windows 8.1. Sebagai gantinya, gunakan fungsi Pembantu Versi]

Dengan rilis Windows 8.1, perilaku GetVersionEx API telah berubah dalam nilai yang akan dikembalikan untuk versi sistem operasi. Nilai yang dikembalikan oleh fungsi GetVersionEx sekarang tergantung pada bagaimana aplikasi dimanifestasikan.

Aplikasi yang tidak dimanifestasikan untuk Windows 8.1 atau Windows 10 akan mengembalikan nilai versi OS Windows 8 (6.2). Setelah aplikasi dimanifestasikan untuk versi sistem operasi tertentu, GetVersionEx akan selalu mengembalikan versi yang dimanifestasikan aplikasi dalam rilis mendatang. Untuk memanifestasikan aplikasi Anda untuk Windows 8.1 atau Windows 10, lihat Menargetkan aplikasi Anda untuk Windows.

Sintaks

NOT_BUILD_WINDOWS_DEPRECATE BOOL GetVersionExW(
  [in, out] LPOSVERSIONINFOW lpVersionInformation
);

Parameter

[in, out] lpVersionInformation

Struktur OSVERSIONINFOW atau OSVERSIONINFOEXW yang menerima informasi sistem operasi.

Sebelum memanggil fungsi GetVersionEx , atur anggota struktur dwOSVersionInfoSize yang sesuai untuk menunjukkan struktur data mana yang diteruskan ke fungsi ini.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan adalah nilai bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError. Fungsi gagal jika Anda menentukan nilai yang tidak valid untuk anggota dwOSVersionInfoSize dari struktur OSVERSIONINFOW atau OSVERSIONINFOEXW .

Keterangan

Mengidentifikasi sistem operasi saat ini biasanya bukan cara terbaik untuk menentukan apakah fitur sistem operasi tertentu ada. Ini karena sistem operasi mungkin memiliki fitur baru yang ditambahkan dalam DLL yang dapat didistribusikan ulang. Daripada menggunakan GetVersionEx untuk menentukan platform sistem operasi atau nomor versi, uji keberadaan fitur itu sendiri. Untuk informasi selengkapnya, lihat Versi Sistem Operasi.

Fungsi GetSystemMetrics menyediakan informasi tambahan tentang sistem operasi saat ini.

Produk Pengaturan
Windows XP Media Center Edition SM_MEDIACENTER
Windows XP Starter Edition SM_STARTER
Windows XP Tablet Edisi PC SM_TABLETPC
Windows Server 2003 R2 SM_SERVERR2
 

Untuk memeriksa sistem operasi atau fitur sistem operasi tertentu, gunakan fungsi IsOS . Fungsi GetProductInfo mengambil jenis produk.

Untuk mengambil informasi untuk sistem operasi di komputer jarak jauh, gunakan fungsi NetWkstaGetInfo , kelas Win32_OperatingSystem WMI, atau properti OperatingSystem antarmuka IADsComputer .

Untuk membandingkan versi sistem saat ini dengan versi yang diperlukan, gunakan fungsi VerifyVersionInfo alih-alih menggunakan GetVersionEx untuk melakukan perbandingan sendiri.

Jika mode kompatibilitas berlaku, fungsi GetVersionEx melaporkan sistem operasi seperti yang diidentifikasi sendiri, yang mungkin bukan sistem operasi yang diinstal. Misalnya, jika mode kompatibilitas berlaku, GetVersionEx melaporkan sistem operasi yang dipilih untuk kompatibilitas aplikasi.

Contoh

Saat menggunakan fungsi GetVersionEx untuk menentukan apakah aplikasi Anda berjalan pada versi sistem operasi tertentu, periksa nomor versi yang lebih besar dari atau sama dengan nomor versi yang diinginkan. Ini memastikan bahwa pengujian berhasil untuk versi sistem operasi yang lebih baru. Misalnya, jika aplikasi Anda memerlukan Windows XP atau yang lebih baru, gunakan pengujian berikut.

#include <windows.h>
#include <stdio.h>

void main()
{
    OSVERSIONINFO osvi;
    BOOL bIsWindowsXPorLater;

    ZeroMemory(&osvi, sizeof(OSVERSIONINFO));
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);

    GetVersionEx(&osvi);

    bIsWindowsXPorLater = 
       ( (osvi.dwMajorVersion > 5) ||
       ( (osvi.dwMajorVersion == 5) && (osvi.dwMinorVersion >= 1) ));

    if(bIsWindowsXPorLater)
        printf("The system meets the requirements.\n");
    else printf("The system does not meet the requirements.\n");
}

Untuk contoh yang mengidentifikasi sistem operasi saat ini, lihat Mendapatkan Versi Sistem.

Catatan

Header sysinfoapi.h mendefinisikan GetVersionEx 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

   
Klien minimum yang didukung Windows 2000 Professional [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows 2000 Server [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header sysinfoapi.h (termasuk Windows.h)
Pustaka Kernel32.lib
DLL Kernel32.dll

Lihat juga

GetVersion

OSVERSIONINFOW

OSVERSIONINFOEXW

Versi Sistem Operasi

Fungsi Informasi Sistem

VerifyVersionInfo

Fungsi Pembantu Versi