我需要控制C-State配置。具体来说,我可能想执行以下asm代码:
__asm
{
rdmsr
and eax, 0x00
or eax, 0x01
wrmsr
}
目前,我在rdmsr
行上收到了此例外:
Unhandled exception at 0x00e3139e in MessWithCStates.exe: 0xC0000096: Privileged instruction.
我如何(永久)提升我的应用程序的权限,以便它可以执行上面的代码?我使用VS 2010。
注意:无需编写内核模式驱动程序即可。请参阅 R / W Everything 。
答案 0 :(得分:3)
有可能,您在Ring 3中的x86处理器上运行此代码。您没有执行此命令的权限。期。这是硬件限制。执行该指令的唯一方法是进入Ring 0,很可能,你的操作系统不会让你这样做。您需要编写内核模式驱动程序来完成此任务。