我正在尝试使用CallNtPowerInformation()
输入通过ProcessorInformation
获取当前的处理器速度/限制:
SYSTEM_INFO systemInfo;
GetSystemInfo( &systemInfo );
numProcessors = (unsigned char)systemInfo.dwNumberOfProcessors;
powerInformations = new PROCESSOR_POWER_INFORMATION[numProcessors];
long status = CallNtPowerInformation( ProcessorInformation, NULL, 0, powerInformations, numProcessors*sizeof(PROCESSOR_POWER_INFORMATION) );
不幸的是,status
总是等于STATUS_ACCESS_DENIED
。我找不到任何关于这个原因的文档,有人能指出我为什么无法获得当前处理器信息的原因吗?
这是在Windows 8上,在Surface Pro上运行(使用桌面API),我尝试使用提升的权限启动VS2012,无效。
答案 0 :(得分:0)
事实证明,如果我在控制台应用程序中运行此代码,它可以工作,但如果我在Metro应用程序中运行它,它就会失败。我会问一个关于如何在windows store app中执行这样的代码的新问题。