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 |