IsProcessorFeaturePresent 함수(processthreadsapi.h)
지정된 프로세서 기능이 현재 컴퓨터에서 지원되는지 여부를 확인합니다.
구문
BOOL IsProcessorFeaturePresent(
[in] DWORD ProcessorFeature
);
매개 변수
[in] ProcessorFeature
테스트할 프로세서 기능입니다. 이 매개 변수는 다음 값 중 하나일 수 있습니다.
값 | 의미 |
---|---|
|
64비트 로드/저장소 원자성 명령을 사용할 수 있습니다. |
|
나누기 지침을 사용할 수 있습니다. |
|
외부 캐시를 사용할 수 있습니다. |
|
부동 소수점 곱하기 누적 명령을 사용할 수 있습니다. |
|
VFP/Neon: 32 x 64비트 레지스터 뱅크가 있습니다. 이 플래그는 PF_ARM_VFP_EXTENDED_REGISTERS 의미가 같습니다. |
|
3D-Now 명령 집합을 사용할 수 있습니다. |
|
프로세서 채널이 사용하도록 설정됩니다. |
|
원자성 비교 및 교환 작업(cmpxchg)을 사용할 수 있습니다. |
|
원자성 비교 및 교환 128비트 작업(cmpxchg16b)을 사용할 수 있습니다.
Windows Server 2003 및 Windows XP/2000: 이 기능은 지원되지 않습니다. |
|
원자 비교 64 및 교환 128비트 작업(cmp8xchg16)을 사용할 수 있습니다.
Windows Server 2003 및 Windows XP/2000: 이 기능은 지원되지 않습니다. |
|
_fastfail()를 사용할 수 있습니다. |
|
부동 소수점 작업은 소프트웨어 에뮬레이터를 사용하여 에뮬레이트됩니다.
이 함수는 부동 소수점 연산이 에뮬레이트되는 경우 0이 아닌 값을 반환합니다. 그렇지 않으면 0을 반환합니다. |
|
펜티엄에서는 드문 경우에서 부동 소수점 정밀도 오류가 발생할 수 있습니다. |
|
MMX 명령 집합을 사용할 수 있습니다. |
|
데이터 실행 방지 를 사용할 수 있습니다. Windows XP/2000: 이 기능은 WINDOWS XP SP2 및 Windows Server 2003 SP1을 사용할 때까지 지원되지 않습니다. |
|
프로세서가 PAE를 사용하도록 설정되어 있습니다. 자세한 내용은 물리적 주소 확장을 참조하세요.
모든 x64 프로세서는 항상 이 기능에 대해 0이 아닌 값을 반환합니다. |
|
RDTSC 명령을 사용할 수 있습니다. |
|
RDFSBASE, RDGSBASE, WRFSBASE 및 WRGSBASE 지침을 사용할 수 있습니다. |
|
두 번째 수준 주소 변환은 하드웨어에서 지원됩니다. |
|
SSE3 명령 집합을 사용할 수 있습니다.
Windows Server 2003 및 Windows XP/2000: 이 기능은 지원되지 않습니다. |
|
SSSE3 명령 집합을 사용할 수 있습니다. |
|
SSE4_1 명령 집합을 사용할 수 있습니다. |
|
SSE4_2 명령 집합을 사용할 수 있습니다. |
|
AVX 명령 집합을 사용할 수 있습니다. |
|
AVX2 명령 집합을 사용할 수 있습니다. |
|
AVX512F 명령 집합을 사용할 수 있습니다. |
|
가상화는 펌웨어에서 사용하도록 설정되며 운영 체제에서 사용할 수 있습니다. |
|
SSE 명령 집합을 사용할 수 있습니다. |
|
SSE2 명령 집합을 사용할 수 있습니다.
Windows 2000: 이 기능은 지원되지 않습니다. |
|
프로세서는 XSAVE 및 XRSTOR 명령을 구현합니다.
Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP/2000: 이 기능은 Windows 7 및 Windows Server 2008 R2까지 지원되지 않습니다. |
|
이 Arm 프로세서는 Arm v8 명령 집합을 구현합니다. |
|
이 Arm 프로세서는 Arm v8 추가 암호화 명령(예: AES, SHA1 및 SHA2)을 구현합니다. |
|
이 Arm 프로세서는 Arm v8 추가 CRC32 지침을 구현합니다. |
|
이 Arm 프로세서는 Arm v8.1 원자성 명령(예: CAS, SWP)을 구현합니다. |
|
이 Arm 프로세서는 Arm v8.2 DP 명령(예: SDOT, UDOT)을 구현합니다. 이 기능은 Arm v8.2 구현에서 선택 사항이며 Arm v8.4 구현에서는 필수입니다. |
|
이 Arm 프로세서는 Arm v8.3 JSCVT 명령(예: FJCVTZS)을 구현합니다. |
|
이 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_AVAILABLE
및 PF_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 |