RtlGetEnabledExtendedFeatures 函数 (ntddk.h)
RtlGetEnabledExtendedFeatures 例程返回由系统启用的扩展处理器功能的掩码。
语法
NTSYSAPI ULONG64 RtlGetEnabledExtendedFeatures(
[in] ULONG64 FeatureMask
);
参数
[in] FeatureMask
64 位功能掩码。 此参数指示一组扩展处理器功能,调用方请求有关是否启用这些功能的信息。 如果掩码位为 1,则调用方请求与此掩码位对应的功能的相关信息。 调用方将所有其他掩码位设置为零。 将此参数设置为 (ULONG64) (-1) 以获取所有已启用功能的掩码。 若要确定是否启用了一组特定的功能,请将此参数设置为一个或多个 XSTATE_MASK_XXX 标志位的按位 OR。
返回值
RtlGetEnabledExtendedFeatures 返回已启用的扩展处理器功能的 64 位掩码。 例程将此掩码计算为所有已启用特征 (与 FeatureMask 参数值之间的按位 AND) 交集。 有关此返回值指示的功能的详细信息,请参阅 XSTATE_MASK_XXX。
如果系统禁用 XSAVE 和 XRSTOR 指令,RtlGetEnabledExtendedFeatures 将返回 0。 即使系统支持XSTATE_MASK_LEGACY_FLOATING_POINT和XSTATE_MASK_LEGACY_SSE功能,也会发生这种情况。 使用 ExIsProcessorFeaturePresent 或 CPUID 确定 x86 或 x64 系统上 x87、MMX 和 SSE 处理器功能的可用性。
注解
另一个例程 ExIsProcessorFeaturePresent 指示扩展处理器功能是否可用。 但是,与 RtlGetEnabledExtendedFeatures 不同,它并不指示操作系统是否已启用该功能供内核模式驱动程序使用。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 适用于 Windows 7 及更高版本的 Windows 操作系统。 |
目标平台 | 通用 |
标头 | ntddk.h (包括 Wdm.h、Ntddk.h、Ntifs.h) |
Library | Ntdll.lib (用户模式) ;NtosKrnl.lib (内核模式) ;Windows 10 上的 OneCoreUAP.lib |
DLL | NtDll.dll (用户模式) ;NtosKrnl.exe (内核模式) |
IRQL | PASSIVE_LEVEL |