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
作業系統 Service Pack 的主要版本號碼。 最小值為 0。
[in] dwSpMinorVersion
作業系統 Service Pack 的次要版本號碼。 最小值為 0。
[out] pdwReturnedProductType
產品類型。 此參數不可為 Null。 如果指定的作業系統小於目前的作業系統,這項資訊會對應至指定作業系統所支援的類型。 如果指定的作業系統大於最高支援的作業系統,這項資訊會對應至目前作業系統所支援的類型。
此參數可以是下列其中一個值, (以下某些產品可能不支援) 。
值 | 意義 |
---|---|
|
Microsoft Store |
|
商務 N |
|
HPC Edition |
|
伺服器 Hyper Core V |
|
Windows 10 Home |
|
Windows 10 家用版中國 |
|
Windows 10 家用版 N |
|
Windows 10 家用單一語言版 |
|
伺服器資料中心 (評估安裝) |
|
伺服器資料中心,Semi-Annual 通道 (核心安裝) |
|
伺服器標準、Semi-Annual 通道 (核心安裝) |
|
伺服器資料中心 (完整安裝。針對 Windows Server 2012 和更新版本的 Server Core 安裝,請使用 方法來 判斷 Server Core 是否正在執行。) |
|
伺服器資料中心 (核心安裝、Windows Server 2008 R2 和更早版本) |
|
沒有 Hyper-V 的伺服器資料中心 (核心安裝) |
|
沒有 Hyper-V 的伺服器資料中心 (完整安裝) |
|
Windows 10 教育版 |
|
Windows 10 Education N |
|
Windows 10 Enterprise |
|
Windows 10 企業版 E |
|
Windows 10 企業版評估 |
|
Windows 10 Enterprise N |
|
Windows 10 企業版 N 評估 |
|
Windows 10 Enterprise 2015 LTSB |
|
Windows 10 企業評估版 2015 長期維護 |
|
Windows 10 Enterprise 2015 LTSB N |
|
Windows 10 企業版 2015 長期維護 N 評估 |
|
Server Enterprise (完整安裝) |
|
Server Enterprise (核心安裝) |
|
無 Hyper-V 的伺服器企業版 (核心安裝) |
|
Server Enterprise for Itanium-based Systems |
|
不含 Hyper-V 的伺服器企業版 (完整安裝) |
|
Windows Essential Server 解決方案其他 |
|
Windows Essential Server 解決方案其他 SVC |
|
Windows Essential Server 解決方案管理 |
|
Windows Essential Server 解決方案管理 SVC |
|
家用入門版 |
|
不支援 |
|
首頁基本 N |
|
家用進階版 |
|
不支援 |
|
家用進階 N |
|
Windows Home Server 2011 |
|
Windows Storage Server 2008 R2 Essentials |
|
Microsoft Hyper-V Server |
|
Windows IoT 企業版 |
|
Windows IoT 企業版 LTSC |
|
Windows 10 IoT 核心版 |
|
Windows 10 IoT 核心版 Commercial |
|
Windows Essential Business Server Management Server |
|
Windows Essential Business Server Messaging Server |
|
Windows Essential Business Server Security Server |
|
Windows 10 Mobile |
|
Windows 10 Mobile Enterprise |
|
Windows MultiPoint Server Premium (完整安裝) |
|
Windows MultiPoint Server Standard (完整安裝) |
|
Windows 10 團隊版 |
|
Windows 10 專業教育版 |
|
Windows 10 工作站專業版 |
|
Windows 10 工作站專業版 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 |
|
虛擬桌面Windows 10 企業版 |
|
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 的伺服器標準 |
|
伺服器解決方案進階版 |
|
伺服器解決方案進階版 (核心安裝) |
|
入門 |
|
不支援 |
|
入門 N |
|
儲存體伺服器企業版 |
|
Storage Server Enterprise (核心安裝) |
|
儲存體伺服器 Express |
|
儲存體伺服器 Express (核心安裝) |
|
儲存體伺服器 Standard (評估安裝) |
|
儲存體伺服器標準 |
|
儲存體伺服器 Standard (核心安裝) |
|
儲存體伺服器工作組 (評估安裝) |
|
儲存體伺服器工作組 |
|
儲存體伺服器工作組 (核心安裝) |
|
旗艦版 |
|
不支援 |
|
Ultimate N |
|
未知的產品 |
|
網頁伺服器 (完整安裝) |
|
Web Server (核心安裝) |
傳回值
如果函式成功,則傳回值是非零值。
如果此函式失敗,則傳回值為零。 如果其中一個輸入參數無效,則此函式會失敗。
備註
若要偵測是否已安裝伺服器角色或功能,請使用 伺服器功能 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 中引進的產品類型,以及如果在 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) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |