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, dwSpMajorVersion 및 dwSpMinorVersion 매개 변수의 조합은 애플리케이션의 최대 대상 운영 체제 버전을 설명합니다. 예를 들어 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일 수 없습니다. 지정된 운영 체제가 현재 운영 체제보다 작은 경우 이 정보는 지정된 운영 체제에서 지원하는 형식에 매핑됩니다. 지정된 운영 체제가 지원되는 가장 높은 운영 체제보다 큰 경우 이 정보는 현재 운영 체제에서 지원하는 형식에 매핑됩니다.
이 매개 변수는 다음 값 중 하나일 수 있습니다(아래 일부 제품은 지원되지 않을 수 있음).
값 | 의미 |
---|---|
|
비즈니스 |
|
비즈니스 N |
|
HPC Edition |
|
서버 Hyper Core V |
|
Windows 10 Home |
|
Windows 10 Home 중국 |
|
Windows 10 Home KN |
|
Windows 10 Home 단일 언어 |
|
서버 데이터 센터(평가 설치) |
|
서버 데이터 센터, Semi-Annual 채널(핵심 설치) |
|
서버 표준, Semi-Annual 채널(핵심 설치) |
|
서버 데이터 센터(전체 설치. Windows Server 2012 이상의 Server Core 설치의 경우 Server Core가 실행 중인지 여부를 확인하는 메서드를 사용합니다.) |
|
서버 데이터 센터(핵심 설치, Windows Server 2008 R2 이하) |
|
Hyper-V가 없는 서버 데이터 센터(코어 설치) |
|
Hyper-V가 없는 서버 데이터 센터(전체 설치) |
|
Windows 10 Education |
|
Windows 10 Education KN |
|
Windows 10 Enterprise |
|
Windows 10 Enterprise E |
|
Windows 10 Enterprise Evaluation |
|
Windows 10 Enterprise KN |
|
Windows 10 Enterprise KN Evaluation |
|
Windows 10 Enterprise 2015 LTSB |
|
Windows 10 Enterprise 2015 LTSB Evaluation |
|
Windows 10 Enterprise 2015 LTSB KN |
|
Windows 10 Enterprise 2015 LTSB KN Evaluation |
|
Server Enterprise(전체 설치) |
|
Server Enterprise(핵심 설치) |
|
Hyper-V가 없는 서버 엔터프라이즈(코어 설치) |
|
Itanium 기반 시스템용 서버 엔터프라이즈 |
|
Hyper-V가 없는 서버 엔터프라이즈(전체 설치) |
|
Windows Essential Server 솔루션 추가 |
|
Windows Essential Server 솔루션 추가 SVC |
|
Windows Essential Server 솔루션 관리 |
|
Windows Essential Server Solution Management SVC |
|
Home Basic |
|
지원되지 않음 |
|
Home Basic N |
|
Home Premium |
|
지원되지 않음 |
|
Home Premium N |
|
Windows Home Server 2011 |
|
Windows Storage Server 2008 R2 Essentials |
|
Microsoft Hyper-V Server |
|
Windows IoT Enterprise |
|
Windows IoT Enterprise LTSC |
|
Windows 10 IoT Core |
|
Windows 10 IoT Core 상업용 |
|
Windows Essential Business Server 관리 서버 |
|
Windows Essential Business Server 메시징 서버 |
|
Windows Essential Business Server 보안 서버 |
|
Windows 10 Mobile |
|
Windows 10 Mobile Enterprise |
|
Windows MultiPoint Server Premium(전체 설치) |
|
Windows MultiPoint Server 표준(전체 설치) |
|
Windows 10 팀 |
|
Windows 10 Pro Education |
|
Windows 10 Pro for Workstations |
|
Windows 10 Pro for Workstations N |
|
Windows 10 Pro |
|
지원되지 않음 |
|
Windows 10 Pro N |
|
전문 미디어 센터 |
|
Windows Small Business Server 2011 Essentials |
|
SB 솔루션 EM용 서버 |
|
SB 솔루션용 서버 |
|
SB 솔루션 EM용 서버 |
|
Windows Essential Server 솔루션용 Windows Server 2008 |
|
Windows Essential Server 솔루션용 Hyper-V가 없는 Windows Server 2008 |
|
Server Foundation |
|
Virtual Desktop용 Windows 10 Enterprise |
|
Windows Small Business Server |
|
Small Business Server Premium |
|
Small Business Server Premium(핵심 설치) |
|
Windows MultiPoint Server |
|
서버 표준(평가판 설치) |
|
서버 표준(전체 설치. Windows Server 2012 이상의 Server Core 설치의 경우 Server Core가 실행 중인지 여부를 확인하는 메서드를 사용합니다.) |
|
서버 표준(핵심 설치, Windows Server 2008 R2 이하) |
|
Hyper-V가 없는 서버 표준(코어 설치) |
|
Hyper-V가 없는 서버 표준 |
|
서버 솔루션 프리미엄 |
|
서버 솔루션 프리미엄(핵심 설치) |
|
Starter |
|
지원되지 않음 |
|
Starter N |
|
Storage Server Enterprise |
|
Storage Server Enterprise(핵심 설치) |
|
Storage Server Express |
|
Storage Server Express(핵심 설치) |
|
스토리지 서버 표준(평가판 설치) |
|
스토리지 서버 표준 |
|
스토리지 서버 표준(핵심 설치) |
|
Storage Server 작업 그룹(평가 설치) |
|
스토리지 서버 작업 그룹 |
|
Storage Server 작업 그룹(핵심 설치) |
|
Ultimate |
|
지원되지 않음 |
|
Ultimate N |
|
알 수 없는 제품 |
|
웹 서버(전체 설치) |
|
웹 서버(핵심 설치) |
반환 값
함수가 성공하면 반환 값은 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 |