Condividi tramite


Funzione IsProcessorFeaturePresent (processthreadsapi.h)

Determina se la funzionalità del processore specificata è supportata dal computer corrente.

Sintassi

BOOL IsProcessorFeaturePresent(
  [in] DWORD ProcessorFeature
);

Parametri

[in] ProcessorFeature

Funzionalità del processore da testare. Questo parametro può avere uno dei valori seguenti.

Valore Significato
PF_ARM_64BIT_LOADSTORE_ATOMIC
25
Sono disponibili le istruzioni atomiche di carico/archivio a 64 bit.
PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE
24
Sono disponibili le istruzioni di divisione.
PF_ARM_EXTERNAL_CACHE_AVAILABLE
26
La cache esterna è disponibile.
PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE
27
L'istruzione di moltiplicazione a virgola mobile è disponibile.
PF_ARM_VFP_32_REGISTERS_AVAILABLE
18
La banca di registrazione VFP/Neon: 32 x 64bit è presente. Questo flag ha lo stesso significato di PF_ARM_VFP_EXTENDED_REGISTERS.
PF_3DNOW_INSTRUCTIONS_AVAILABLE
7
Il set di istruzioni 3D-Now è disponibile.
PF_CHANNELS_ENABLED
16
I canali del processore sono abilitati.
PF_COMPARE_EXCHANGE_DOUBLE
2
È disponibile l'operazione di confronto atomico e scambio (cmpxchg).
PF_COMPARE_EXCHANGE128
14
È disponibile l'operazione di confronto atomico e scambio a 128 bit (cmpxchg16b).

Windows Server 2003 e Windows XP/2000: Questa funzionalità non è supportata.

PF_COMPARE64_EXCHANGE128
15
L'operazione di confronto atomico a 64 e exchange a 128 bit (cmp8xchg16) è disponibile.

Windows Server 2003 e Windows XP/2000: Questa funzionalità non è supportata.

PF_FASTFAIL_AVAILABLE
23
_fastfail() è disponibile.
PF_FLOATING_POINT_EMULATED
1
Le operazioni a virgola mobile vengono emulate usando un emulatore software.

Questa funzione restituisce un valore diverso da zero se le operazioni a virgola mobile vengono emulate; in caso contrario, restituisce zero.

PF_FLOATING_POINT_PRECISION_ERRATA
0
In un Pentium, un errore di precisione a virgola mobile può verificarsi in circostanze rare.
PF_MMX_INSTRUCTIONS_AVAILABLE
3
Il set di istruzioni MMX è disponibile.
PF_NX_ENABLED
12

La prevenzione dell'esecuzione dei dati è abilitata.

Windows XP/2000: Questa funzionalità non è supportata fino a quando Windows XP con SP2 e Windows Server 2003 con SP1.

PF_PAE_ENABLED
9
Il processore è abilitato per PAE. Per altre informazioni, vedere Estensione indirizzo fisico.

Tutti i processori x64 restituiscono sempre un valore diverso da zero per questa funzionalità.

PF_RDTSC_INSTRUCTION_AVAILABLE
8
L'istruzione RDTSC è disponibile.
PF_RDWRFSGSBASE_AVAILABLE
22
Sono disponibili istruzioni RDFSBASE, RDGSBASE, WRFSBASE e WRGSBASE.
PF_SECOND_LEVEL_ADDRESS_TRANSLATION
20
La traduzione degli indirizzi di secondo livello è supportata dall'hardware.
PF_SSE3_INSTRUCTIONS_AVAILABLE
13
Il set di istruzioni SSE3 è disponibile.

Windows Server 2003 e Windows XP/2000: Questa funzionalità non è supportata.

PF_SSSE3_INSTRUCTIONS_AVAILABLE
36
Il set di istruzioni SSSE3 è disponibile.
PF_SSE4_1_INSTRUCTIONS_AVAILABLE
37
Il set di istruzioni SSE4_1 è disponibile.
PF_SSE4_2_INSTRUCTIONS_AVAILABLE
38
Il set di istruzioni SSE4_2 è disponibile.
PF_AVX_INSTRUCTIONS_AVAILABLE
39
Il set di istruzioni AVX è disponibile.
PF_AVX2_INSTRUCTIONS_AVAILABLE
40
Il set di istruzioni AVX2 è disponibile.
PF_AVX512F_INSTRUCTIONS_AVAILABLE
41
Il set di istruzioni AVX512F è disponibile.
PF_VIRT_FIRMWARE_ENABLED
21
La virtualizzazione è abilitata nel firmware e resa disponibile dal sistema operativo.
PF_XMMI_INSTRUCTIONS_AVAILABLE
6
Il set di istruzioni SSE è disponibile.
PF_XMMI64_INSTRUCTIONS_AVAILABLE
10
Il set di istruzioni SSE2 è disponibile.

Windows 2000: Questa funzionalità non è supportata.

PF_XSAVE_ENABLED
17
Il processore implementa le istruzioni XSAVE e XRSTOR.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP/2000: Questa funzionalità non è supportata fino a Windows 7 e Windows Server 2008 R2.

PF_ARM_V8_INSTRUCTIONS_AVAILABLE
29
Questo processore Arm implementa il set di istruzioni arm v8.
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
30
Questo processore arm implementa le istruzioni di crittografia aggiuntive di Arm v8, ad esempio AES, SHA1 e SHA2.
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
31
Questo processore Arm implementa le istruzioni di Arm v8 extra CRC32.
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
34
Questo processore Arm implementa le istruzioni atomiche arm v8.1, ad esempio CAS, SWP.
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
43
Questo processore Arm implementa le istruzioni dp di Arm v8.2, ad esempio SDOT, UDOT. Questa funzionalità è facoltativa nelle implementazioni di Arm v8.2 e obbligatorie nelle implementazioni di Arm v8.4.
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
44
Questo processore Arm implementa le istruzioni JSCVT di Arm v8.3 , ad esempio FJCVTZS.
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
45
Questo processore Arm implementa le istruzioni LRCPC di Arm v8.3 (ad esempio LDAPR). Si noti che alcune CPU arm v8.2 possono supportare facoltativamente le istruzioni LRCPC.

Valore restituito

Se la funzionalità è supportata, il valore restituito è un valore diverso da zero.

Se la funzionalità non è supportata, il valore restituito è zero.

Se hal non supporta il rilevamento della funzionalità, indipendentemente dal fatto che l'hardware supporti la funzionalità, il valore restituito è anche zero.

Commenti

Il supporto per PF_SSSE3_INSTRUCTIONS_AVAILABLEPF_AVX512F_INSTRUCTIONS_AVAILABLE tramite è stato aggiunto nel Windows SDK (19041) e è supportato da Windows 10, versione 2004 (aggiornamento di maggio 2020) o versioni successive.

Il supporto per PF_ERMS_AVAILABLE, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLEe PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE sono stati aggiunti nella Windows SDK (20348) e sono supportati da Windows 11 e Windows Server 2022.

La definizione PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE è stata aggiunta nella Windows SDK (22621) ed è supportata da Windows 11, versione 22H2.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [app desktop | App UWP]
Server minimo supportato Windows 2000 Server [app desktop | App UWP]
Piattaforma di destinazione Windows
Intestazione processthreadsapi.h (includere Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

API Vertdll disponibili nelle enclave VBS

Funzioni di informazioni di sistema