鱼C论坛

 找回密码
 立即注册
查看: 4799|回复: 0

[API档案] IsProcessorFeaturePresent

[复制链接]
发表于 2016-7-12 00:46:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
注:本文档由 百日维新 翻译,小甲鱼校对。

原文链接 -> 传送门

函数功能:

IsProcessorFeaturePresent 函数用于获取当前电脑是否支持指定处理器功能特性。。


API 函数原型:

注释:_In_ 说明该参数是输入的。
  1. BOOL WINAPI IsProcessorFeaturePresent(
  2.   _In_ DWORD ProcessorFeature
  3. );
复制代码


参数解析:

参数 含义
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)
1. VFP/Neon:存在 32 x 64 位寄存器组。
2. PF_ARM_VFP_32_REGISTERS_AVAILABLE 和 PF_ARM_VFP_EXTENDED_REGISTERS 意思相同
PF_3DNOW_INSTRUCTIONS_AVAILABLE
(7)
是否支持 3D-Now(3D No Waiting)指令可用
PF_CHANNELS_ENABLED
(16)
是否启用处理器通道
PF_COMPARE_EXCHANGE_DOUBLE
(2)
是否原子比较和交换操作(cmpxchg) 可用
PF_COMPARE_EXCHANGE128
(14)
1. 是否原子比较和 128 位交换操作(cmpxchg16b) 可用
2. Windows Server 2003 和 Windows XP/2000:不支持该功能特性
PF_COMPARE64_EXCHANGE128
(15)
1. 是否支持原子 64 位比较和 128 位交换操作(cmpxchg16b) 可用
2. Windows Server 2003 和 Windows XP/2000:不支持该功能特性
PF_FASTFAIL_AVAILABLE
(23)
是否“快速失败”机制可用
PF_FLOATING_POINT_EMULATED
(1)
1. 检测是否使用了软件模拟器模拟浮点操作
2. 如果函数返回非 0,则使用了浮点模拟操作;否则,返回零
PF_FLOATING_POINT_PRECISION_ERRATA
(0)
在奔腾处理器上,很少情况下发生浮点精度误差
PF_MMX_INSTRUCTIONS_AVAILABLE
(3)
是否多媒体增强指令集(MMX,Multi Media Extension) 可用
PF_NX_ENABLED
(12)
1. 数据执行保护是否启用
2. Windows XP/2000:Windows XP SP2 和 Windows Server 2003 SP1 之前的 Windows 版本不支持该特性
PF_PAE_ENABLED
(9)
1. 处理器是否启用物理地址扩展。更多信息,参见 Physical Address Extension
2. 检测该特性时,所有的 64 位架构处理器总是返回非 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)
1. 是否 SSE3 (Streaming SIMD Extensions III)指令集可用
2. Windows Server 2003 和 Windows XP/2000:不支持该功能特性
PF_VIRT_FIRMWARE_ENABLED
(21)
固件中是否启用虚拟化
PF_XMMI_INSTRUCTIONS_AVAILABLE
(6)
是否 SSE(Streaming SIMD Extensions)指令集可用
PF_XMMI64_INSTRUCTIONS_AVAILABLE
(10)
1. 是否 SSE2(Streaming SIMD Extensions II)指令集可用
2. Windows 2000:不支持该功能特性
PF_XSAVE_ENABLED
(17)
1. 是否处理器实现 XSAVE 和 XRSTOR 指令
2. Windows Server 2008, Windows Vista, Windows Server 2003 和 Windows XP/2000:Windows 7 和 Windows Server 2008 R2之后的版本支持该功能特性


返回值:

1. 如果支持该功能特性,返回值是非 0;

2. 如果不支持该功能特性,返回值是 0;

3. 如果硬件抽象层(HAL,Hardware Abstraction Layer)不支持检测该功能特性,那么不管硬件是否支持该功能特性,返回值也是 0。


需求:

Minimum supported client Windows 2000 专业版 [桌面应用程序 | Windows 商店应用程序]
Minimum supported server Windows 2000 服务器版 [桌面应用程序 | Windows 商店应用程序]
Minimum supported phone Windows Phone 8
Header Winbase.h (包含于 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-30 22:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表