exIsProcessorFeaturePresent 函数 (wdm.h)
ExIsProcessorFeaturePresent 例程查询是否存在指定的处理器功能。
语法
BOOLEAN ExIsProcessorFeaturePresent(
[in] ULONG ProcessorFeature
);
参数
[in] ProcessorFeature
指定以下常量值之一:
PF_FLOATING_POINT_PRECISION_ERRATA
处理器具有Pentium浮点分流 bug。
PF_FLOATING_POINT_EMULATED
处理器没有浮点硬件。
PF_COMPARE_EXCHANGE_DOUBLE
处理器具有 8 字节的内存锁定比较和交换 (CMPXCHG8B) 指令。
PF_MMX_INSTRUCTIONS_AVAILABLE
处理器支持硬件中的 MMX 指令。
PF_XMMI_INSTRUCTIONS_AVAILABLE
处理器支持硬件中的 SSE 指令。
PF_3DNOW_INSTRUCTIONS_AVAILABLE
处理器支持 AMD 3DNow 指令。
PF_RDTSC_INSTRUCTION_AVAILABLE
处理器支持 read-timestamp-counter (RDTSC) 指令。
PF_PAE_ENABLED
处理器实现物理地址扩展 (PAE) 支持。
PF_XMMI64_INSTRUCTIONS_AVAILABLE
处理器支持硬件中的 SSE2 指令。 此参数值仅在 Windows XP 和更高版本的 Windows 中受支持。
PF_SSE_DAZ_MODE_AVAILABLE
对于 SSE 指令,处理器支持非规范为零 (DAZ) 模式。 此参数值仅在 Windows Vista 和更高版本的 Windows 中受支持。
PF_NX_ENABLED
已启用数据执行防护。 此参数值仅在 Windows Vista 和更高版本的 Windows 中受支持。
PF_SSE3_INSTRUCTIONS_AVAILABLE
处理器支持 SSE3 指令。 此参数值仅在 Windows Vista 和更高版本的 Windows 中受支持。
PF_COMPARE_EXCHANGE128
可以使用原子比较和交换 128 位操作 (CMPXCHG16B) 。 此参数值仅在 Windows Vista 和更高版本的 Windows 中受支持。
PF_COMPARE64_EXCHANGE128
可以使用原子比较 64 位和交换 128 位操作 (CMP8XCHG16) 。 此参数值仅在 Windows Vista 和更高版本的 Windows 中受支持。
PF_XSAVE_ENABLED
处理器支持 XSAVE 和 XRSTOR 指令。 此参数值仅在 Windows 7 及更高版本的 Windows 中受支持。
返回值
如果存在指定的处理器功能,则 ExIsProcessorFeaturePresent 返回 TRUE;否则返回 FALSE。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从 Windows 2000 开始可用。 |
目标平台 | 通用 |
标头 | wdm.h(包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) 、 IrqlExPassive (wdm) 、 PowerIrpDDis (wdm) |