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 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |