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 です。

dwOSMajorVersiondwOSMinorVersiondwSpMajorVersion、および 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

オペレーティング システム Service Pack のマイナー バージョン番号。 最小値は 0 です。

[out] pdwReturnedProductType

製品の種類。 このパラメーターを NULL にすることはできません。 指定したオペレーティング システムが現在のオペレーティング システムより小さい場合、この情報は、指定したオペレーティング システムでサポートされている種類にマップされます。 指定したオペレーティング システムが、サポートされている最も高いオペレーティング システムより大きい場合、この情報は現在のオペレーティング システムでサポートされている種類にマップされます。

このパラメーターには、次のいずれかの値を指定できます (以下の一部の製品はサポート対象外である可能性があります)。

説明
PRODUCT_BUSINESS
0x00000006
Business
PRODUCT_BUSINESS_N
0x00000010
Business N
PRODUCT_CLUSTER_SERVER
0x00000012
HPC Edition
PRODUCT_CLUSTER_SERVER_V
0x00000040
Server Hyper Core V
PRODUCT_CORE
0x00000065
Windows 10 Home
PRODUCT_CORE_COUNTRYSPECIFIC
0x00000063
中国Windows 10 Home
PRODUCT_CORE_N
0x00000062
Windows 10 Home N
PRODUCT_CORE_SINGLELANGUAGE
0x00000064
Windows 10 Home Single Language
PRODUCT_DATACENTER_EVALUATION_SERVER
0x00000050
サーバー データセンター (評価インストール)
PRODUCT_DATACENTER_A_SERVER_CORE
0x00000091
サーバー データセンター、Semi-Annual チャネル (コア インストール)
PRODUCT_STANDARD_A_SERVER_CORE
0x00000092
Server Standard、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 N
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 N
PRODUCT_ENTERPRISE_N_EVALUATION
0x00000054
Windows 10 Enterprise N 評価
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 N
PRODUCT_ENTERPRISE_S_N_EVALUATION
0x00000082
Windows 10 Enterprise 2015 LTSB N 評価
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
Server Enterprise for 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 ソリューション管理 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 Security 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 Standard (フル インストール)
PRODUCT_PPI_PRO
0x00000077
Windows 10 Team
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 Server 2008 for Windows Essential Server Solutions
PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000023
Hyper-V なしの Windows Server 2008 for Windows Essential Server Solutions
PRODUCT_SERVER_FOUNDATION
0x00000021
Server Foundation
PRODUCT_SERVERRDSH
0x000000AF
仮想デスクトップの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
Server Standard (コア インストール、Windows Server 2008 R2 以前)
PRODUCT_STANDARD_SERVER_CORE_V
0x00000028
Hyper-V を使用しないサーバー標準 (コア インストール)
PRODUCT_STANDARD_SERVER_V
0x00000024
Hyper-V を使用しないサーバー標準
PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000034
Server Solutions Premium
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x00000035
Server Solutions Premium (コア インストール)
PRODUCT_STARTER
0x0000000B
スターター
PRODUCT_STARTER_E
0x00000042
サポートされていません
PRODUCT_STARTER_N
0x0000002F
スターター 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
Storage Server Standard (評価版のインストール)
PRODUCT_STORAGE_STANDARD_SERVER
0x00000015
Storage Server Standard
PRODUCT_STORAGE_STANDARD_SERVER_CORE
0x0000002C
Storage Server Standard (コア インストール)
PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER
0x0000005F
記憶域サーバー ワークグループ (評価インストール)
PRODUCT_STORAGE_WORKGROUP_SERVER
0x00000016
記憶域サーバー ワークグループ
PRODUCT_STORAGE_WORKGROUP_SERVER_CORE
0x0000002D
記憶域サーバー ワークグループ (コア インストール)
PRODUCT_ULTIMATE
0x00000001
Ultimate
PRODUCT_ULTIMATE_E
0x00000047
サポートされていません
PRODUCT_ULTIMATE_N
0x0000001C
Ultimate N
PRODUCT_UNDEFINED
0x00000000
不明な製品
PRODUCT_WEB_SERVER
0x00000011
Web サーバー (完全インストール)
PRODUCT_WEB_SERVER_CORE
0x0000001D
Web サーバー (コア インストール)

戻り値

関数が成功した場合、戻り値は 0 以外の値になります。

関数が失敗した場合は、0 を返します。 入力パラメーターのいずれかが無効な場合、この関数は失敗します。

解説

サーバーの役割または機能がインストールされているかどうかを検出するには、 サーバー機能 WMI プロバイダーを使用します。

以降の Windows リリースでは、サポートされている製品の種類が、サポートされている Windows の以前の各リリースでサポートされている製品の種類のセットにマップされ、バージョン 6.0.0.0 に戻ります。 したがって、これらの値の等値テストを実行するアプリケーションは、新しい製品の種類が追加された場合でも、今後のリリースで引き続き機能します。

PRODUCT_*_SERVER_COREの値は、Windows Server 2012 以降では返されません。 たとえば、基本サーバー エディションの Server Datacenter は、"フル サーバー" と "コア サーバー" という 2 つの異なるインストール オプションを構築するために使用されます。 Windows Server 2012 では、製品のインストール時に使用されたオプションに関係なく 、GetProductInfo はPRODUCT_DATACENTERを返します。 前述のように、Windows Server 2012 以降の Server Core インストールの場合は、 Server Core が実行されているかどうかを判断する方法を使用します。

次の表は、6.1.0.0 で導入された製品の種類と、6.1.0.0 システムでバージョン 6.0.0.0 で GetProductInfo が呼び出された場合にマップされる内容を示しています。

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 を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

システム情報関数