GetVersion 関数 (sysinfoapi.h)

getVersion は、Windows 8.1後にリリースで変更または使用できない場合があります。 代わりに、 バージョン ヘルパー関数を使用します。 Windows 10アプリについては、「Windows 用アプリケーションのターゲット設定」を参照してください。

Windows 8.1のリリースでは、オペレーティング システムのバージョンに対して返される値で GetVersion API の動作が変更されました。 GetVersion 関数によって返される値は、アプリケーションのマニフェスト方法によって異なります。

Windows 8.1またはWindows 10用にマニフェストされていないアプリケーションは、Windows 8 OS バージョン値 (6.2) を返します。 特定のオペレーティング システムバージョンに対してアプリケーションがマニフェストされると、 GetVersion は、今後のリリースでアプリケーションがマニフェストされるバージョンを常に返します。 Windows 8.1またはWindows 10用にアプリケーションをマニフェストするには、「Windows 用アプリケーションのターゲット設定」を参照してください。

構文

NOT_BUILD_WINDOWS_DEPRECATE DWORD GetVersion();

戻り値

関数が成功した場合、戻り値には、オペレーティング システムのメジャー バージョン番号とマイナー バージョン番号が下位ワードに含まれます。また、オペレーティング システム プラットフォームに関する情報は上位ワードに含まれます。

すべてのプラットフォームで、下位ワードにはオペレーティング システムのバージョン番号が含まれます。 この単語の下位バイトは、メジャー バージョン番号を 16 進数表記で指定します。 上位バイトは、マイナー バージョン (リビジョン) 番号を 16 進表記で指定します。 上位ビットは 0、次の 7 ビットはビルド番号を表し、下位バイトは 5 です。

注釈

GetVersionEx 関数は、GetVersion によって返されるパックされた DWORD 値を調べ、メジャー バージョン番号とマイナー バージョン番号を入れ替えると、既存のアプリケーションの多くがエラーになるため開発されました。 GetVersionEx を使用すると、アプリケーションはバージョン情報の各要素を明示的に調べることができます。 VerifyVersionInfo は、必要なシステム バージョンと現在のシステム バージョンを比較することで、エラーの可能性をさらに排除します。

次のコード フラグメントは、 GetVersion の戻り値から情報を抽出する方法を示しています: OSVERSIONINFOEX

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

void main()
{
    DWORD dwVersion = 0; 
    DWORD dwMajorVersion = 0;
    DWORD dwMinorVersion = 0; 
    DWORD dwBuild = 0;

    dwVersion = GetVersion();
 
    // Get the Windows version.

    dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
    dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));

    // Get the build number.

    if (dwVersion < 0x80000000)              
        dwBuild = (DWORD)(HIWORD(dwVersion));

    printf("Version is %d.%d (%d)\n", 
                dwMajorVersion,
                dwMinorVersion,
                dwBuild);
}

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー sysinfoapi.h (Windows.h を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目