Funzione GetProductInfo (sysinfoapi.h)

Recupera il tipo di prodotto per il sistema operativo nel computer locale e esegue il mapping del tipo ai tipi di prodotto supportati dal sistema operativo specificato.

Per recuperare le informazioni sul tipo di prodotto nelle versioni di Windows prima dei sistemi operativi minimi supportati specificati nella sezione Requisiti, usare la funzione GetVersionEx . È anche possibile usare la proprietà OperatingSystemSKU della classe WMI Win32_OperatingSystem .

Sintassi

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

Parametri

[in] dwOSMajorVersion

Numero di versione principale del sistema operativo. Il valore minimo è 6.

La combinazione dei parametri dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion e dwSpMinorVersion descrive la versione massima del sistema operativo di destinazione per l'applicazione. Ad esempio, Windows Vista e Windows Server 2008 sono versione 6.0.0.0 e Windows 7 e Windows Server 2008 R2 sono versione 6.1.0.0. Tutte le versioni basate su Windows 10 verranno elencate come versione 6.3.

[in] dwOSMinorVersion

Numero di versione secondaria del sistema operativo. Il valore minimo è 0.

[in] dwSpMajorVersion

Numero di versione principale del Service Pack del sistema operativo. Il valore minimo è 0.

[in] dwSpMinorVersion

Numero di versione secondaria del Service Pack del sistema operativo. Il valore minimo è 0.

[out] pdwReturnedProductType

Tipo di prodotto. Questo parametro non può essere NULL. Se il sistema operativo specificato è minore del sistema operativo corrente, queste informazioni vengono mappate ai tipi supportati dal sistema operativo specificato. Se il sistema operativo specificato è maggiore del sistema operativo supportato più alto, queste informazioni vengono mappate ai tipi supportati dal sistema operativo corrente.

Questo parametro può essere uno dei valori seguenti (alcuni prodotti seguenti potrebbero non essere supportati).

Valore Significato
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 Cina
PRODUCT_CORE_N
0x00000062
Windows 10 Home N
PRODUCT_CORE_SINGLELANGUAGE
0x00000064
Windows 10 Home Single Language
PRODUCT_DATACENTER_EVALUATION_SERVER
0x00000050
Server Datacenter (installazione di valutazione)
PRODUCT_DATACENTER_A_SERVER_CORE
0x00000091
Server Datacenter, canale Semi-Annual (installazione principale)
PRODUCT_STANDARD_A_SERVER_CORE
0x00000092
Server Standard, canale Semi-Annual (installazione principale)
PRODUCT_DATACENTER_SERVER
0x00000008
Server Datacenter (installazione completa). Per le installazioni di Server Core di Windows Server 2012 e versioni successive, usare il metodo , Determinare se Server Core è in esecuzione.
PRODUCT_DATACENTER_SERVER_CORE
0x0000000C
Server Datacenter (installazione principale, Windows Server 2008 R2 e versioni precedenti)
PRODUCT_DATACENTER_SERVER_CORE_V
0x00000027
Server Datacenter senza Hyper-V (installazione principale)
PRODUCT_DATACENTER_SERVER_V
0x00000025
Server Datacenter senza Hyper-V (installazione completa)
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 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 N
PRODUCT_ENTERPRISE_S_N_EVALUATION
0x00000082
Windows 10 Enterprise 2015 LTSB N Evaluation
PRODUCT_ENTERPRISE_SERVER
0x0000000a
Server Enterprise (installazione completa)
PRODUCT_ENTERPRISE_SERVER_CORE
0x0000000E
Server Enterprise (installazione principale)
PRODUCT_ENTERPRISE_SERVER_CORE_V
0x00000029
Server Enterprise senza Hyper-V (installazione principale)
PRODUCT_ENTERPRISE_SERVER_IA64
0x0000000F
Server Enterprise per sistemi basati su Itanium
PRODUCT_ENTERPRISE_SERVER_V
0x00000026
Server Enterprise senza Hyper-V (installazione completa)
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL
0x0000003C
Soluzione Windows Essential Server aggiuntiva
PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC
0x0000003E
Soluzione SVC aggiuntiva di Windows Essential Server
PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT
0x0000003B
Gestione soluzioni 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
Non supportato
PRODUCT_HOME_BASIC_N
0x00000005
Home Basic N
PRODUCT_HOME_PREMIUM
0x00000003
Home Premium
PRODUCT_HOME_PREMIUM_E
0x00000044
Non supportato
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 commerciale
PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT
0x0000001e
Server di gestione di Windows Essential Business Server
PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING
0x00000020
Server di messaggistica di Windows Essential Business Server
PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY
0x0000001F
Server di sicurezza di 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 (installazione completa)
PRODUCT_MULTIPOINT_STANDARD_SERVER
0x0000004C
Windows MultiPoint Server Standard (installazione completa)
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
Non supportato
PRODUCT_PROFESSIONAL_N
0x00000031
Windows 10 Pro N
PRODUCT_PROFESSIONAL_WMC
0x00000067
Professionale con Media Center
PRODUCT_SB_SOLUTION_SERVER
0x00000032
Windows Small Business Server 2011 Essentials
PRODUCT_SB_SOLUTION_SERVER_EM
0x00000036
Server per soluzioni SB EM
PRODUCT_SERVER_FOR_SB_SOLUTIONS
0x00000033
Server per soluzioni SB
PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM
0x00000037
Server per soluzioni SB EM
PRODUCT_SERVER_FOR_SMALLBUSINESS
0x00000018
Soluzioni Windows Server 2008 per Windows Essential Server
PRODUCT_SERVER_FOR_SMALLBUSINESS_V
0x00000023
Windows Server 2008 senza Hyper-V per soluzioni Windows Essential Server
PRODUCT_SERVER_FOUNDATION
0x00000021
Server Foundation
PRODUCT_SERVERRDSH
0x000000AF
Windows 10 Enterprise per Desktop virtuali
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 (installazione principale)
PRODUCT_SOLUTION_EMBEDDEDSERVER
0x00000038
Windows MultiPoint Server
PRODUCT_STANDARD_EVALUATION_SERVER
0x0000004F
Server Standard (installazione di valutazione)
PRODUCT_STANDARD_SERVER
0x00000007
Server Standard (installazione completa. Per le installazioni Server Core di Windows Server 2012 e versioni successive, usare il metodo Determinare se Server Core è in esecuzione.
PRODUCT_STANDARD_SERVER_CORE
0x0000000D
Server Standard (installazione principale, Windows Server 2008 R2 e versioni precedenti)
PRODUCT_STANDARD_SERVER_CORE_V
0x00000028
Server Standard senza Hyper-V (installazione principale)
PRODUCT_STANDARD_SERVER_V
0x00000024
Server Standard senza Hyper-V
PRODUCT_STANDARD_SERVER_SOLUTIONS
0x00000034
Soluzioni server Premium
PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE
0x00000035
Server Solutions Premium (installazione principale)
PRODUCT_STARTER
0x0000000B
Starter
PRODUCT_STARTER_E
0x00000042
Non supportato
PRODUCT_STARTER_N
0x0000002F
Starter N
PRODUCT_STORAGE_ENTERPRISE_SERVER
0x00000017
Storage Server Enterprise
PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE
0x0000002E
Storage Server Enterprise (installazione principale)
PRODUCT_STORAGE_EXPRESS_SERVER
0x00000014
Server di archiviazione Express
PRODUCT_STORAGE_EXPRESS_SERVER_CORE
0x0000002B
Storage Server Express (installazione principale)
PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER
0x00000060
Storage Server Standard (installazione di valutazione)
PRODUCT_STORAGE_STANDARD_SERVER
0x00000015
Server di archiviazione Standard
PRODUCT_STORAGE_STANDARD_SERVER_CORE
0x0000002C
Server di archiviazione Standard (installazione principale)
PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER
0x0000005F
Gruppo di lavoro server di archiviazione (installazione di valutazione)
PRODUCT_STORAGE_WORKGROUP_SERVER
0x00000016
Gruppo di lavoro server di archiviazione
PRODUCT_STORAGE_WORKGROUP_SERVER_CORE
0x0000002D
Gruppo di lavoro server di archiviazione (installazione principale)
PRODUCT_ULTIMATE
0x00000001
Ultimate
PRODUCT_ULTIMATE_E
0x00000047
Non supportato
PRODUCT_ULTIMATE_N
0x0000001C
Ultimate N
PRODUCT_UNDEFINED
0x00000000
Prodotto sconosciuto
PRODUCT_WEB_SERVER
0x00000011
Server Web (installazione completa)
PRODUCT_WEB_SERVER_CORE
0x0000001D
Server Web (installazione principale)

Valore restituito

Se la funzione ha esito positivo, il valore restituito è un valore diverso da zero.

Se la funzione ha esito negativo, il valore restituito è zero. Questa funzione ha esito negativo se uno dei parametri di input non è valido.

Commenti

Per rilevare se è installato un ruolo server o una funzionalità, usare il provider WMI funzionalità server .

Le versioni successive di Windows mappano i tipi di prodotto supportati per il set di tipi di prodotto supportati da ogni versione precedente supportata di Windows, tornare alla versione 6.0.0.0. Pertanto, un'applicazione che esegue un test di uguaglianza per uno di questi valori continuerà a funzionare sulle versioni future, anche quando vengono aggiunti nuovi tipi di prodotto.

PRODUCT_*_SERVER_CORE valori non vengono restituiti in Windows Server 2012 e versioni successive. Ad esempio, l'edizione del server di base, Server Datacenter, viene usata per compilare le due diverse opzioni di installazione: "full server" e "core server". Con Windows Server 2012, GetProductInfo restituirà PRODUCT_DATACENTER indipendentemente dall'opzione usata durante l'installazione del prodotto. Come indicato in precedenza, per le installazioni Server Core di Windows Server 2012 e versioni successive, usare il metodo Determina se Server Core è in esecuzione.

La tabella seguente indica i tipi di prodotto introdotti nella versione 6.1.0.0.0 e ciò che verranno mappati se GetProductInfo viene chiamato con la versione 6.0.0.0 in un sistema 6.1.0.0.

Novità per 6.1.0.0 Valore restituito con 6.0.0.0
PRODUCT_PROFESSIONAL PRODUCT_BUSINESS
PRODUCT_PROFESSIONAL_N PRODUCT_BUSINESS_N
PRODUCT_STARTER_N PRODUCT_STARTER
 

Per compilare un'applicazione che usa questa funzione, definire _WIN32_WINNT come 0x0600 o versioni successive. Per altre informazioni, vedere Uso delle intestazioni di Windows.

Esempio

Per un esempio, vedere Recupero della versione di sistema.

Requisiti

   
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione sysinfoapi.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzioni di informazioni di sistema