OSVERSIONINFOA 구조체(winnt.h)

운영 체제 버전 정보를 포함합니다. 이 정보에는 주 버전 및 부 버전 번호, 빌드 번호, 플랫폼 식별자 및 운영 체제에 대한 설명 텍스트가 포함됩니다. 이 구조체는 GetVersionEx 함수와 함께 사용됩니다.

추가 버전 정보를 가져오려면 GetVersionEx와 함께 OSVERSIONINFOEX 구조를 대신 사용합니다.

구문

typedef struct _OSVERSIONINFOA {
  DWORD dwOSVersionInfoSize;
  DWORD dwMajorVersion;
  DWORD dwMinorVersion;
  DWORD dwBuildNumber;
  DWORD dwPlatformId;
  CHAR  szCSDVersion[128];
} OSVERSIONINFOA, *POSVERSIONINFOA, *LPOSVERSIONINFOA;

멤버

dwOSVersionInfoSize

이 데이터 구조의 크기(바이트)입니다. 이 멤버를 로 sizeof(OSVERSIONINFO)설정합니다.

dwMajorVersion

운영 체제의 주 버전 번호입니다. 자세한 내용은 설명 부분을 참조하세요.

dwMinorVersion

운영 체제의 부 버전 번호입니다. 자세한 내용은 설명 부분을 참조하세요.

dwBuildNumber

운영 체제의 빌드 번호입니다.

dwPlatformId

운영 체제 플랫폼입니다. 이 멤버는 다음 값일 수 있습니다.

의미
VER_PLATFORM_WIN32_NT
2
운영 체제는 Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003, Windows XP 또는 Windows 2000입니다.

szCSDVersion[128]

시스템에 설치된 최신 서비스 팩을 나타내는 null로 끝나는 문자열(예: "서비스 팩 3")입니다. 서비스 팩이 설치되지 않은 경우 문자열이 비어 있습니다.

설명

버전 정보를 사용하는 것이 기능을 테스트하는 가장 좋은 방법은 아닙니다. 대신 관심 있는 기능에 대한 설명서를 참조하세요. 기능 검색을 위한 일반적인 기술에 대한 자세한 내용은 운영 체제 버전을 참조하세요.

특정 운영 체제가 필요한 경우 하나의 운영 체제에 대한 테스트를 설계하는 대신 지원되는 최소 버전으로 사용해야 합니다. 이렇게 하면 검색 코드가 이후 버전의 Windows에서 계속 작동합니다.

다음 표에는 지원되는 Windows 버전에서 반환되는 값이 요약되어 있습니다. "기타"라는 레이블이 지정된 열의 정보를 사용하여 버전 번호가 동일한 운영 체제를 구분합니다.

운영 체제 버전 번호 dwMajorVersion dwMinorVersion 기타
Windows 10 10.0* 10 0 OSVERSIONINFOEX.wProductType == VER_NT_WORKSTATION
Windows Server 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 해당 없음
Windows 2000 5.0 5 0 해당 없음
*Windows 8.1 또는 Windows 10 대해 매니페스트된 애플리케이션의 경우 Windows 8.1 또는 Windows 10 대해 매니페스트되지 않은 애플리케이션은 Windows 8 OS 버전 값(6.2)을 반환합니다. Windows 8.1 또는 Windows 10 애플리케이션을 매니페스트하려면 Windows용 애플리케이션 대상 지정을 참조하세요.
 

예제

예제는 시스템 버전 가져오기를 참조하세요.

참고

winnt.h 헤더는 OSVERSIONINFO를 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
머리글 winnt.h(Windows.h 포함)

추가 정보

OSVERSIONINFOEX

버전 도우미 API