IsProcessorFeaturePresent 함수(processthreadsapi.h)

지정된 프로세서 기능이 현재 컴퓨터에서 지원되는지 여부를 확인합니다.

구문

BOOL IsProcessorFeaturePresent(
  [in] DWORD ProcessorFeature
);

매개 변수

[in] ProcessorFeature

테스트할 프로세서 기능입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.

의미
PF_ARM_64BIT_LOADSTORE_ATOMIC
25
64비트 로드/저장소 원자성 명령을 사용할 수 있습니다.
PF_ARM_DIVIDE_INSTRUCTION_AVAILABLE
24
나누기 지침을 사용할 수 있습니다.
PF_ARM_EXTERNAL_CACHE_AVAILABLE
26
외부 캐시를 사용할 수 있습니다.
PF_ARM_FMAC_INSTRUCTIONS_AVAILABLE
27
부동 소수점 곱하기 누적 명령을 사용할 수 있습니다.
PF_ARM_VFP_32_REGISTERS_AVAILABLE
18
VFP/Neon: 32 x 64비트 레지스터 뱅크가 있습니다. 이 플래그는 PF_ARM_VFP_EXTENDED_REGISTERS 의미가 같습니다.
PF_3DNOW_INSTRUCTIONS_AVAILABLE
7
3D-Now 명령 집합을 사용할 수 있습니다.
PF_CHANNELS_ENABLED
16
프로세서 채널이 사용하도록 설정됩니다.
PF_COMPARE_EXCHANGE_DOUBLE
2
원자성 비교 및 교환 작업(cmpxchg)을 사용할 수 있습니다.
PF_COMPARE_EXCHANGE128
14
원자성 비교 및 교환 128비트 작업(cmpxchg16b)을 사용할 수 있습니다.

Windows Server 2003 및 Windows XP/2000: 이 기능은 지원되지 않습니다.

PF_COMPARE64_EXCHANGE128
15
원자 비교 64 및 교환 128비트 작업(cmp8xchg16)을 사용할 수 있습니다.

Windows Server 2003 및 Windows XP/2000: 이 기능은 지원되지 않습니다.

PF_FASTFAIL_AVAILABLE
23
_fastfail()를 사용할 수 있습니다.
PF_FLOATING_POINT_EMULATED
1
부동 소수점 작업은 소프트웨어 에뮬레이터를 사용하여 에뮬레이트됩니다.

이 함수는 부동 소수점 연산이 에뮬레이트되는 경우 0이 아닌 값을 반환합니다. 그렇지 않으면 0을 반환합니다.

PF_FLOATING_POINT_PRECISION_ERRATA
0
펜티엄에서는 드문 경우에서 부동 소수점 정밀도 오류가 발생할 수 있습니다.
PF_MMX_INSTRUCTIONS_AVAILABLE
3
MMX 명령 집합을 사용할 수 있습니다.
PF_NX_ENABLED
12

데이터 실행 방지 를 사용할 수 있습니다.

Windows XP/2000: 이 기능은 WINDOWS XP SP2 및 Windows Server 2003 SP1을 사용할 때까지 지원되지 않습니다.

PF_PAE_ENABLED
9
프로세서가 PAE를 사용하도록 설정되어 있습니다. 자세한 내용은 물리적 주소 확장을 참조하세요.

모든 x64 프로세서는 항상 이 기능에 대해 0이 아닌 값을 반환합니다.

PF_RDTSC_INSTRUCTION_AVAILABLE
8
RDTSC 명령을 사용할 수 있습니다.
PF_RDWRFSGSBASE_AVAILABLE
22
RDFSBASE, RDGSBASE, WRFSBASE 및 WRGSBASE 지침을 사용할 수 있습니다.
PF_SECOND_LEVEL_ADDRESS_TRANSLATION
20
두 번째 수준 주소 변환은 하드웨어에서 지원됩니다.
PF_SSE3_INSTRUCTIONS_AVAILABLE
13
SSE3 명령 집합을 사용할 수 있습니다.

Windows Server 2003 및 Windows XP/2000: 이 기능은 지원되지 않습니다.

PF_SSSE3_INSTRUCTIONS_AVAILABLE
36
SSSE3 명령 집합을 사용할 수 있습니다.
PF_SSE4_1_INSTRUCTIONS_AVAILABLE
37
SSE4_1 명령 집합을 사용할 수 있습니다.
PF_SSE4_2_INSTRUCTIONS_AVAILABLE
38
SSE4_2 명령 집합을 사용할 수 있습니다.
PF_AVX_INSTRUCTIONS_AVAILABLE
39
AVX 명령 집합을 사용할 수 있습니다.
PF_AVX2_INSTRUCTIONS_AVAILABLE
40
AVX2 명령 집합을 사용할 수 있습니다.
PF_AVX512F_INSTRUCTIONS_AVAILABLE
41
AVX512F 명령 집합을 사용할 수 있습니다.
PF_VIRT_FIRMWARE_ENABLED
21
가상화는 펌웨어에서 사용하도록 설정되며 운영 체제에서 사용할 수 있습니다.
PF_XMMI_INSTRUCTIONS_AVAILABLE
6
SSE 명령 집합을 사용할 수 있습니다.
PF_XMMI64_INSTRUCTIONS_AVAILABLE
10
SSE2 명령 집합을 사용할 수 있습니다.

Windows 2000: 이 기능은 지원되지 않습니다.

PF_XSAVE_ENABLED
17
프로세서는 XSAVE 및 XRSTOR 명령을 구현합니다.

Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP/2000: 이 기능은 Windows 7 및 Windows Server 2008 R2까지 지원되지 않습니다.

PF_ARM_V8_INSTRUCTIONS_AVAILABLE
29
이 Arm 프로세서는 Arm v8 명령 집합을 구현합니다.
PF_ARM_V8_CRYPTO_INSTRUCTIONS_AVAILABLE
30
이 Arm 프로세서는 Arm v8 추가 암호화 명령(예: AES, SHA1 및 SHA2)을 구현합니다.
PF_ARM_V8_CRC32_INSTRUCTIONS_AVAILABLE
31
이 Arm 프로세서는 Arm v8 추가 CRC32 지침을 구현합니다.
PF_ARM_V81_ATOMIC_INSTRUCTIONS_AVAILABLE
34
이 Arm 프로세서는 Arm v8.1 원자성 명령(예: CAS, SWP)을 구현합니다.
PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
43
이 Arm 프로세서는 Arm v8.2 DP 명령(예: SDOT, UDOT)을 구현합니다. 이 기능은 Arm v8.2 구현에서 선택 사항이며 Arm v8.4 구현에서는 필수입니다.
PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
44
이 Arm 프로세서는 Arm v8.3 JSCVT 명령(예: FJCVTZS)을 구현합니다.
PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
45
이 Arm 프로세서는 Arm v8.3 LRCPC 명령(예: LDAPR)을 구현합니다. 특정 Arm v8.2 CPU는 필요에 따라 LRCPC 지침을 지원할 수 있습니다.

반환 값

기능이 지원되는 경우 반환 값은 0이 아닌 값입니다.

기능이 지원되지 않는 경우 반환 값은 0입니다.

HAL이 기능 검색을 지원하지 않는 경우 하드웨어에서 기능을 지원하는지 여부에 관계없이 반환 값도 0입니다.

설명

through PF_AVX512F_INSTRUCTIONS_AVAILABLE 에 대한 PF_SSSE3_INSTRUCTIONS_AVAILABLE 지원은 Windows SDK(19041)에 추가되었으며 Windows 10 버전 2004(2020년 5월 업데이트) 이상에서 지원됩니다.

, PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLEPF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE 에 대한 PF_ERMS_AVAILABLE지원이 Windows SDK(20348)에 추가되었으며 Windows 11 및 Windows Server 2022에서 지원됩니다.

정의 PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE 는 Windows SDK(22621)에 추가되었으며 Windows 11 버전 22H2에서 지원됩니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 processthreadsapi.h(Windows.h 포함)
라이브러리 Kernel32.lib
DLL Kernel32.dll

참고 항목

VBS Enclave에서 사용할 수 있는 Vertdll API

시스템 정보 함수