Compartilhar via


Função IsProcessorFeaturePresent (processthreadsapi.h)

Determina se o recurso de processador especificado é compatível com o computador atual.

Sintaxe

BOOL IsProcessorFeaturePresent(
  [in] DWORD ProcessorFeature
);

Parâmetros

[in] ProcessorFeature

O recurso de processador a ser testado. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
PF_ARM_64BIT_LOADSTORE_ATOMIC
25
As instruções atômicas de carregamento/armazenamento de 64 bits estão disponíveis.
PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE
24
As instruções de divisão estão disponíveis.
PF_ARM_EXTERNAL_CACHE_AVAILABLE
26
O cache externo está disponível.
PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE
27
A instrução de multiplicação-acumulação de ponto flutuante está disponível.
PF_ARM_VFP_32_REGISTERS_AVAILABLE
18
O banco de registro VFP/Neon: 32 x 64 bits está presente. Esse sinalizador tem o mesmo significado que PF_ARM_VFP_EXTENDED_REGISTERS.
PF_3DNOW_INSTRUCTIONS_AVAILABLE
7
O conjunto de instruções 3D-Now está disponível.
PF_CHANNELS_ENABLED
16
Os canais do processador estão habilitados.
PF_COMPARE_EXCHANGE_DOUBLE
2
A operação atômica de comparação e troca (cmpxchg) está disponível.
PF_COMPARE_EXCHANGE128
14
A operação atômica de comparação e troca de 128 bits (cmpxchg16b) está disponível.

Windows Server 2003 e Windows XP/2000: Não há suporte para esse recurso.

PF_COMPARE64_EXCHANGE128
15
A operação de comparação atômica de 64 e troca de 128 bits (cmp8xchg16) está disponível.

Windows Server 2003 e Windows XP/2000: Não há suporte para esse recurso.

PF_FASTFAIL_AVAILABLE
23
_fastfail() está disponível.
PF_FLOATING_POINT_EMULATED
1
As operações de ponto flutuante são emuladas usando um emulador de software.

Essa função retornará um valor diferente de zero se as operações de ponto flutuante forem emuladas; caso contrário, ele retornará zero.

PF_FLOATING_POINT_PRECISION_ERRATA
0
Em um Pentium, um erro de precisão de ponto flutuante pode ocorrer em circunstâncias raras.
PF_MMX_INSTRUCTIONS_AVAILABLE
3
O conjunto de instruções MMX está disponível.
PF_NX_ENABLED
12

A prevenção de execução de dados está habilitada.

Windows XP/2000: Esse recurso não tem suporte até o Windows XP com SP2 e Windows Server 2003 com SP1.

PF_PAE_ENABLED
9
O processador está habilitado para PAE. Para obter mais informações, consulte Extensão de endereço físico.

Todos os processadores x64 sempre retornam um valor diferente de zero para esse recurso.

PF_RDTSC_INSTRUCTION_AVAILABLE
8
A instrução RDTSC está disponível.
PF_RDWRFSGSBASE_AVAILABLE
22
As instruções RDFSBASE, RDGSBASE, WRFSBASE e WRGSBASE estão disponíveis.
PF_SECOND_LEVEL_ADDRESS_TRANSLATION
20
A Conversão de Endereços de Segundo Nível é compatível com o hardware.
PF_SSE3_INSTRUCTIONS_AVAILABLE
13
O conjunto de instruções SSE3 está disponível.

Windows Server 2003 e Windows XP/2000: Não há suporte para esse recurso.

PF_SSSE3_INSTRUCTIONS_AVAILABLE
36
O conjunto de instruções SSSE3 está disponível.
PF_SSE4_1_INSTRUCTIONS_AVAILABLE
37
O conjunto de instruções SSE4_1 está disponível.
PF_SSE4_2_INSTRUCTIONS_AVAILABLE
38
O conjunto de instruções SSE4_2 está disponível.
PF_AVX_INSTRUCTIONS_AVAILABLE
39
O conjunto de instruções AVX está disponível.
PF_AVX2_INSTRUCTIONS_AVAILABLE
40
O conjunto de instruções AVX2 está disponível.
PF_AVX512F_INSTRUCTIONS_AVAILABLE
41
O conjunto de instruções AVX512F está disponível.
PF_VIRT_FIRMWARE_ENABLED
21
A virtualização é habilitada no firmware e disponibilizada pelo sistema operacional.
PF_XMMI_INSTRUCTIONS_AVAILABLE
6
O conjunto de instruções SSE está disponível.
PF_XMMI64_INSTRUCTIONS_AVAILABLE
10
O conjunto de instruções SSE2 está disponível.

Windows 2000: Não há suporte para esse recurso.

PF_XSAVE_ENABLED
17
O processador implementa as instruções XSAVE e XRSTOR.

Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP/2000: Esse recurso não tem suporte até o Windows 7 e o Windows Server 2008 R2.

PF_ARM_V8_INSTRUCTIONS_AVAILABLE
29
Esse processador Arm implementa o conjunto de instruções arm v8.
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
30
Esse processador Arm implementa as instruções criptográficas adicionais arm v8 (por exemplo, AES, SHA1 e SHA2).
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
31
Esse processador Arm implementa as instruções adicionais crc32 do Arm v8.
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
34
Esse processador Arm implementa as instruções atômicas arm v8.1 (por exemplo, CAS, SWP).
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
43
Esse processador Arm implementa as instruções de DP arm v8.2 (por exemplo, SDOT, UDOT). Esse recurso é opcional em implementações do Arm v8.2 e obrigatório em implementações do Arm v8.4.
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
44
Esse processador Arm implementa as instruções JSCVT do Arm v8.3 (por exemplo, FJCVTZS).
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
45
Esse processador Arm implementa as instruções LRCPC do Arm v8.3 (por exemplo, LDAPR). Observe que determinadas CPUs arm v8.2 podem, opcionalmente, dar suporte às instruções LRCPC.

Retornar valor

Se houver suporte para o recurso, o valor retornado será um valor diferente de zero.

Se não houver suporte para o recurso, o valor retornado será zero.

Se o HAL não der suporte à detecção do recurso, se o hardware der suporte ou não ao recurso, o valor retornado também será zero.

Comentários

O suporte por PF_SSSE3_INSTRUCTIONS_AVAILABLE meio PF_AVX512F_INSTRUCTIONS_AVAILABLE de foi adicionado ao SDK do Windows (19041) e tem suporte do Windows 10, versão 2004 (atualização de maio de 2020) ou posterior.

O suporte para PF_ERMS_AVAILABLE, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLEe PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE foram adicionados no SDK do Windows (20348) e têm suporte do Windows 11 e do Windows Server 2022.

A definição PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE foi adicionada no SDK do Windows (22621) e tem suporte do Windows 11, versão 22H2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho processthreadsapi.h (inclua Windows.h)
Biblioteca Kernel32.lib
DLL Kernel32.dll

Confira também

APIs Vertdll disponíveis em enclaves de VBS

Funções de informações do sistema