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
オペレーティング システム Service Pack のマイナー バージョン番号。 最小値は 0 です。
[out] pdwReturnedProductType
製品の種類。 このパラメーターを NULL にすることはできません。 指定したオペレーティング システムが現在のオペレーティング システムより小さい場合、この情報は、指定したオペレーティング システムでサポートされている種類にマップされます。 指定したオペレーティング システムが、サポートされている最も高いオペレーティング システムより大きい場合、この情報は現在のオペレーティング システムでサポートされている種類にマップされます。
このパラメーターには、次のいずれかの値を指定できます (以下の一部の製品はサポート対象外である可能性があります)。
値 | 説明 |
---|---|
|
Business |
|
Business N |
|
HPC Edition |
|
Server Hyper Core V |
|
Windows 10 Home |
|
中国Windows 10 Home |
|
Windows 10 Home N |
|
Windows 10 Home Single Language |
|
サーバー データセンター (評価インストール) |
|
サーバー データセンター、Semi-Annual チャネル (コア インストール) |
|
Server Standard、Semi-Annual チャネル (コア インストール) |
|
サーバー データセンター (完全インストール)。Windows Server 2012 以降の Server Core インストールの場合は、 Server Core が実行されているかどうかを判断する メソッドを使用します)。 |
|
サーバー データセンター (コア インストール、Windows Server 2008 R2 以前) |
|
Hyper-V を使用しないサーバー データセンター (コア インストール) |
|
Hyper-V を使用しないサーバー データセンター (完全インストール) |
|
Windows 10 Education |
|
Windows 10 Education N |
|
Windows 10 Enterprise |
|
Windows 10 Enterprise E |
|
Windows 10 Enterprise Evaluation |
|
Windows 10 Enterprise N |
|
Windows 10 Enterprise N 評価 |
|
Windows 10 Enterprise 2015 LTSB |
|
Windows 10 Enterprise 2015 LTSB Evaluation |
|
Windows 10 Enterprise 2015 LTSB N |
|
Windows 10 Enterprise 2015 LTSB N 評価 |
|
Server Enterprise (フル インストール) |
|
Server Enterprise (コア インストール) |
|
Hyper-V を使用しないサーバー エンタープライズ (コア インストール) |
|
Server Enterprise for Itanium ベースのシステム |
|
Hyper-V を使用しないサーバー エンタープライズ (フル インストール) |
|
Windows Essential Server ソリューションの追加 |
|
Windows Essential Server ソリューションの追加 SVC |
|
Windows Essential Server ソリューション管理 |
|
Windows Essential Server ソリューション管理 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 Security Server |
|
Windows 10 Mobile |
|
Windows 10 Mobile Enterprise |
|
Windows MultiPoint Server Premium (フル インストール) |
|
Windows MultiPoint Server Standard (フル インストール) |
|
Windows 10 Team |
|
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 Server 2008 for Windows Essential Server Solutions |
|
Hyper-V なしの Windows Server 2008 for Windows Essential Server Solutions |
|
Server Foundation |
|
仮想デスクトップの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 が実行されているかどうかを判断するメソッドを使用します)。 |
|
Server Standard (コア インストール、Windows Server 2008 R2 以前) |
|
Hyper-V を使用しないサーバー標準 (コア インストール) |
|
Hyper-V を使用しないサーバー標準 |
|
Server Solutions Premium |
|
Server Solutions Premium (コア インストール) |
|
スターター |
|
サポートされていません |
|
スターター N |
|
Storage Server Enterprise |
|
Storage Server Enterprise (コア インストール) |
|
Storage Server Express |
|
Storage Server Express (コア インストール) |
|
Storage Server Standard (評価版のインストール) |
|
Storage Server Standard |
|
Storage Server Standard (コア インストール) |
|
記憶域サーバー ワークグループ (評価インストール) |
|
記憶域サーバー ワークグループ |
|
記憶域サーバー ワークグループ (コア インストール) |
|
Ultimate |
|
サポートされていません |
|
Ultimate N |
|
不明な製品 |
|
Web サーバー (完全インストール) |
|
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 |