GetProductInfo 함수(sysinfoapi.h)

로컬 컴퓨터에서 운영 체제의 제품 유형을 검색하고 형식을 지정된 운영 체제에서 지원하는 제품 유형에 매핑합니다.

요구 사항 섹션에 지정된 최소 지원 운영 체제 이전 버전의 Windows에서 제품 유형 정보를 검색하려면 GetVersionEx 함수를 사용합니다. Win32_OperatingSystem WMI 클래스의 OperatingSystemSKU 속성을 사용할 수도 있습니다.

구문

BOOL GetProductInfo(
  [in]  DWORD  dwOSMajorVersion,
  [in]  DWORD  dwOSMinorVersion,
  [in]  DWORD  dwSpMajorVersion,
  [in]  DWORD  dwSpMinorVersion,
  [out] PDWORD pdwReturnedProductType
);

매개 변수

[in] dwOSMajorVersion

운영 체제의 주 버전 번호입니다. 최소값은 6입니다.

dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersiondwSpMinorVersion 매개 변수의 조합은 애플리케이션의 최대 대상 운영 체제 버전을 설명합니다. 예를 들어 Windows Vista 및 Windows Server 2008은 버전 6.0.0.0이고 Windows 7 및 Windows Server 2008 R2는 버전 6.1.0.0입니다. 모든 Windows 10 기반 릴리스는 버전 6.3으로 나열됩니다.

[in] dwOSMinorVersion

운영 체제의 부 버전 번호입니다. 최솟값은 0입니다.

[in] dwSpMajorVersion

운영 체제 서비스 팩의 주 버전 번호입니다. 최솟값은 0입니다.

[in] dwSpMinorVersion

운영 체제 서비스 팩의 부 버전 번호입니다. 최솟값은 0입니다.

[out] pdwReturnedProductType

제품 유형입니다. 이 매개 변수는 NULL일 수 없습니다. 지정된 운영 체제가 현재 운영 체제보다 작은 경우 이 정보는 지정된 운영 체제에서 지원하는 형식에 매핑됩니다. 지정된 운영 체제가 지원되는 가장 높은 운영 체제보다 큰 경우 이 정보는 현재 운영 체제에서 지원하는 형식에 매핑됩니다.

이 매개 변수는 다음 값 중 하나일 수 있습니다(아래 일부 제품은 지원되지 않을 수 있음).

의미
PRODUCT_BUSINESS
0x00000006
비즈니스
PRODUCT_BUSINESS_N
0x00000010
비즈니스 N
PRODUCT_CLUSTER_SERVER
0x00000012
HPC Edition
PRODUCT_CLUSTER_SERVER_V
0x00000040
서버 Hyper Core V
PRODUCT_CORE
0x00000065
Windows 10 Home
PRODUCT_CORE_COUNTRYSPECIFIC
0x00000063
Windows 10 Home 중국
PRODUCT_CORE_N
0x00000062
Windows 10 Home KN
PRODUCT_CORE_SINGLELANGUAGE
0x00000064
Windows 10 Home 단일 언어
PRODUCT_DATACENTER_EVALUATION_SERVER
0x00000050
서버 데이터 센터(평가 설치)
PRODUCT_DATACENTER_A_SERVER_CORE
0x00000091
서버 데이터 센터, Semi-Annual 채널(핵심 설치)
PRODUCT_STANDARD_A_SERVER_CORE
0x00000092
서버 표준, Semi-Annual 채널(핵심 설치)
PRODUCT_DATACENTER_SERVER
0x00000008
서버 데이터 센터(전체 설치. Windows Server 2012 이상의 Server Core 설치의 경우 Server Core가 실행 중인지 여부를 확인하는 메서드를 사용합니다.)
PRODUCT_DATACENTER_SERVER_CORE
0x0000000C
서버 데이터 센터(핵심 설치, Windows Server 2008 R2 이하)
PRODUCT_DATACENTER_SERVER_CORE_V
0x00000027
Hyper-V가 없는 서버 데이터 센터(코어 설치)
PRODUCT_DATACENTER_SERVER_V
0x00000025
Hyper-V가 없는 서버 데이터 센터(전체 설치)
PRODUCT_EDUCATION
0x00000079
Windows 10 Education
PRODUCT_EDUCATION_N
0x0000007A
Windows 10 Education KN
PRODUCT_ENTERPRISE
0x00000004
Windows 10 Enterprise
PRODUCT_ENTERPRISE_E
0x00000046
Windows 10 Enterprise E
PRODUCT_ENTERPRISE_EVALUATION
0x00000048
Windows 10 Enterprise Evaluation
PRODUCT_ENTERPRISE_N
0x0000001B
Windows 10 Enterprise KN
PRODUCT_ENTERPRISE_N_EVALUATION
0x00000054
Windows 10 Enterprise KN Evaluation
PRODUCT_ENTERPRISE_S
0x0000007D
Windows 10 Enterprise 2015 LTSB
PRODUCT_ENTERPRISE_S_EVALUATION
0x00000081
Windows 10 Enterprise 2015 LTSB Evaluation
PRODUCT_ENTERPRISE_S_N
0x0000007e
Windows 10 Enterprise 2015 LTSB KN
PRODUCT_ENTERPRISE_S_N_EVALUATION
0x00000082
Windows 10 Enterprise 2015 LTSB KN Evaluation
PRODUCT_ENTERPRISE_SERVER
0x0000000a
Server Enterprise(전체 설치)
PRODUCT_ENTERPRISE_SERVER_CORE
0x0000000E
Server Enterprise(핵심 설치)
PRODUCT_ENTERPRISE_SERVER_CORE_V
0x00000029
Hyper-V가 없는 서버 엔터프라이즈(코어 설치)
PRODUCT_ENTERPRISE_SERVER_IA64
0x0000000F
Itanium 기반 시스템용 서버 엔터프라이즈
PRODUCT_ENTERPRISE_SERVER_V
0x00000026
Hyper-V가 없는 서버 엔터프라이즈(전체 설치)
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL
0x0000003C
Windows Essential Server 솔루션 추가
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC
0x0000003E
Windows Essential Server 솔루션 추가 SVC
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT
0x0000003B
Windows Essential Server 솔루션 관리
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC
0x0000003D
Windows Essential Server Solution Management SVC
PRODUCT_HOME_BASIC
0x00000002
Home Basic
PRODUCT_HOME_BASIC_E
0x00000043
지원되지 않음
PRODUCT_HOME_BASIC_N
0x00000005
Home Basic N
PRODUCT_HOME_PREMIUM
0x00000003
Home Premium
PRODUCT_HOME_PREMIUM_E
0x00000044
지원되지 않음
PRODUCT_HOME_PREMIUM_N
0x0000001A
Home Premium N
PRODUCT_HOME_PREMIUM_SERVER
0x00000022
Windows Home Server 2011
PRODUCT_HOME_SERVER
0x00000013
Windows Storage Server 2008 R2 Essentials
PRODUCT_HYPERV
0x0000002A
Microsoft Hyper-V Server
PRODUCT_IOTENTERPRISE
0x000000BC
Windows IoT Enterprise
PRODUCT_IOTENTERPRISE_S
0x000000BF
Windows IoT Enterprise LTSC
PRODUCT_IOTUAP
0x0000007b
Windows 10 IoT Core
PRODUCT_IOTUAPCOMMERCIAL
0x00000083
Windows 10 IoT Core 상업용
PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT
0x0000001e
Windows Essential Business Server 관리 서버
PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING
0x00000020
Windows Essential Business Server 메시징 서버
PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY
0x0000001F
Windows Essential Business Server 보안 서버
PRODUCT_MOBILE_CORE
0x00000068
Windows 10 Mobile
PRODUCT_MOBILE_ENTERPRISE
0x00000085
Windows 10 Mobile Enterprise
PRODUCT_MULTIPOINT_PREMIUM_SERVER
0x0000004D
Windows MultiPoint Server Premium(전체 설치)
PRODUCT_MULTIPOINT_STANDARD_SERVER
0x0000004C
Windows MultiPoint Server 표준(전체 설치)
PRODUCT_PPI_PRO
0x00000077
Windows 10 팀
PRODUCT_PRO_FOR_EDUCATION
0x000000A4
Windows 10 Pro Education
PRODUCT_PRO_WORKSTATION
0x000000A1
Windows 10 Pro for Workstations
PRODUCT_PRO_WORKSTATION_N
0x000000A2
Windows 10 Pro for Workstations N
PRODUCT_PROFESSIONAL
0x00000030
Windows 10 Pro
PRODUCT_PROFESSIONAL_E
0x00000045
지원되지 않음
PRODUCT_PROFESSIONAL_N
0x00000031
Windows 10 Pro N
PRODUCT_PROFESSIONAL_WMC
0x00000067
전문 미디어 센터
PRODUCT_SB_SOLUTION_SERVER
0x00000032
Windows Small Business Server 2011 Essentials
PRODUCT_SB_SOLUTION_SERVER_EM
0x00000036
SB 솔루션 EM용 서버
PRODUCT_SERVER_FOR_SB_SOLUTIONS
0x00000033
SB 솔루션용 서버
PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM
0x00000037
SB 솔루션 EM용 서버
PRODUCT_SERVER_FOR_SMALLBUSINESS
0x00000018
Windows Essential Server 솔루션용 Windows Server 2008
PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000023
Windows Essential Server 솔루션용 Hyper-V가 없는 Windows Server 2008
PRODUCT_SERVER_FOUNDATION
0x00000021
Server Foundation
PRODUCT_SERVERRDSH
0x000000AF
Virtual Desktop용 Windows 10 Enterprise
PRODUCT_SMALLBUSINESS_SERVER
0x00000009
Windows Small Business Server
PRODUCT_SMALLBUSINESS_SERVER_PREMIUM
0x00000019
Small Business Server Premium
PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE
0x0000003F
Small Business Server Premium(핵심 설치)
PRODUCT_SOLUTION_EMBEDDEDSERVER
0x00000038
Windows MultiPoint Server
PRODUCT_STANDARD_EVALUATION_SERVER
0x0000004F
서버 표준(평가판 설치)
PRODUCT_STANDARD_SERVER
0x00000007
서버 표준(전체 설치. Windows Server 2012 이상의 Server Core 설치의 경우 Server Core가 실행 중인지 여부를 확인하는 메서드를 사용합니다.)
PRODUCT_STANDARD_SERVER_CORE
0x0000000D
서버 표준(핵심 설치, Windows Server 2008 R2 이하)
PRODUCT_STANDARD_SERVER_CORE_V
0x00000028
Hyper-V가 없는 서버 표준(코어 설치)
PRODUCT_STANDARD_SERVER_V
0x00000024
Hyper-V가 없는 서버 표준
PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000034
서버 솔루션 프리미엄
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x00000035
서버 솔루션 프리미엄(핵심 설치)
PRODUCT_STARTER
0x0000000B
Starter
PRODUCT_STARTER_E
0x00000042
지원되지 않음
PRODUCT_STARTER_N
0x0000002F
Starter N
PRODUCT_STORAGE_ENTERPRISE_SERVER
0x00000017
Storage Server Enterprise
PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE
0x0000002E
Storage Server Enterprise(핵심 설치)
PRODUCT_STORAGE_EXPRESS_SERVER
0x00000014
Storage Server Express
PRODUCT_STORAGE_EXPRESS_SERVER_CORE
0x0000002B
Storage Server Express(핵심 설치)
PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER
0x00000060
스토리지 서버 표준(평가판 설치)
PRODUCT_STORAGE_STANDARD_SERVER
0x00000015
스토리지 서버 표준
PRODUCT_STORAGE_STANDARD_SERVER_CORE
0x0000002C
스토리지 서버 표준(핵심 설치)
PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER
0x0000005F
Storage Server 작업 그룹(평가 설치)
PRODUCT_STORAGE_WORKGROUP_SERVER
0x00000016
스토리지 서버 작업 그룹
PRODUCT_STORAGE_WORKGROUP_SERVER_CORE
0x0000002D
Storage Server 작업 그룹(핵심 설치)
PRODUCT_ULTIMATE
0x00000001
Ultimate
PRODUCT_ULTIMATE_E
0x00000047
지원되지 않음
PRODUCT_ULTIMATE_N
0x0000001C
Ultimate N
PRODUCT_UNDEFINED
0x00000000
알 수 없는 제품
PRODUCT_WEB_SERVER
0x00000011
웹 서버(전체 설치)
PRODUCT_WEB_SERVER_CORE
0x0000001D
웹 서버(핵심 설치)

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다.

함수가 실패하면 반환 값은 0입니다. 입력 매개 변수 중 하나가 잘못된 경우 이 함수는 실패합니다.

설명

서버 역할 또는 기능이 설치되어 있는지 감지하려면 서버 기능 WMI 공급자를 사용합니다.

Windows의 후속 릴리스는 지원하는 제품 유형을 지원되는 각 이전 Windows 릴리스에서 지원하는 제품 유형 집합에 다시 버전 6.0.0.0으로 매핑합니다. 따라서 이러한 값에 대해 같음 테스트를 수행하는 애플리케이션은 새 제품 유형이 추가되더라도 향후 릴리스에서 계속 작동합니다.

PRODUCT_*_SERVER_CORE 값은 Windows Server 2012 이상에서 반환되지 않습니다. 예를 들어 기본 서버 버전인 Server Datacenter는 두 가지 설치 옵션인 "전체 서버"와 "코어 서버"를 빌드하는 데 사용됩니다. Windows Server 2012에서 GetProductInfo 는 제품 설치 중에 사용되는 옵션에 관계없이 PRODUCT_DATACENTER 반환합니다. 위에서 설명한 것처럼 Windows Server 2012 이상의 Server Core 설치의 경우 Server Core가 실행 중인지 여부를 확인하는 메서드를 사용합니다.

다음 표에서는 6.1.0.0에서 도입된 제품 유형과 GetProductInfo 가 6.1.0.0 시스템에서 버전 6.0.0.0으로 호출되는 경우 매핑할 대상을 나타냅니다.

6.1.0.0의 새로운 기능 6.0.0.0으로 반환된 값
PRODUCT_PROFESSIONAL PRODUCT_BUSINESS
PRODUCT_PROFESSIONAL_N PRODUCT_BUSINESS_N
PRODUCT_STARTER_N PRODUCT_STARTER
 

이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0600 이상으로 정의합니다. 자세한 내용은 Windows 헤더 사용을 참조하세요.

예제

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

요구 사항

   
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 sysinfoapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

시스템 정보 함수