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 () 可用。 |
|
浮点运算是使用软件模拟器模拟的。
如果模拟浮点运算,此函数将返回非零值;否则,它将返回零。 |
|
在Pentium上,在极少数情况下可能会出现浮点精度误差。 |
|
MMX 指令集可用。 |
|
Windows XP/2000: 在 Windows XP SP2 和 Windows Server 2003 SP1 之前,不支持此功能。 |
|
处理器已启用 PAE。 有关详细信息,请参阅 物理地址扩展。
对于此功能,所有 x64 处理器始终返回非零值。 |
|
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 指令。 |
返回值
如果支持该功能,则返回值为非零值。
如果不支持该功能,则返回值为零。
如果 HAL 不支持检测功能,无论硬件是否支持该功能,则返回值也为零。
注解
Windows SDK (19041) 中添加了对 PF_SSSE3_INSTRUCTIONS_AVAILABLE
Windows 10 PF_AVX512F_INSTRUCTIONS_AVAILABLE
的支持,版本 2004 (2020 年 5 月更新) 或更高版本支持。
Windows SDK (20348) 中添加了对 PF_ERMS_AVAILABLE
、 PF_ARM_V82_DP_INSTRUCTIONS_AVAILABLE
和 PF_ARM_V83_JSCVT_INSTRUCTIONS_AVAILABLE
的支持,Windows 11 和 Windows Server 2022 支持。
定义PF_ARM_V83_LRCPC_INSTRUCTIONS_AVAILABLE
已添加到 Windows SDK (22621) 中,受 Windows 11 版本 22H2 支持。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版 [桌面应用 |UWP 应用] |
最低受支持的服务器 | Windows 2000 Server [桌面应用 |UWP 应用] |
目标平台 | Windows |
标头 | processthreadsapi.h (包括 Windows.h) |
Library | Kernel32.lib |
DLL | Kernel32.dll |