【发布时间】:2015-03-02 19:02:33
【问题描述】:
我正在努力将 Windows 应用程序从始终以 SYSTEM 帐户运行迁移到作为受限用户帐户运行。此应用程序所做的许多事情之一是查询 Windows Performance Counters 以记录整个系统内存和 CPU 使用情况。 MSDN 的list of Privilege Constants 含糊不清,但SE_PROF_SINGLE_PROCESS_NAME 或SE_SYSTEM_PROFILE_NAME 让我觉得可能需要这种操作。但是,MSDN 对 PdhOpenQuery、PdhAddCounter 和 PdhCollectQueryData 等函数的文档没有提及任何必需的权限。
鉴于此,查询性能数据计数器是否需要任何权限?或者,SE_PROF_SINGLE_PROCESS_NAME 或 SE_SYSTEM_PROFILE_NAME 权限具体授予哪些访问权限?
【问题讨论】:
-
为什么不试试呢?
-
部分原因是我不相信我的机器可以像其他所有机器一样工作(尤其是 Windows XP Embedded 和其他更奇特的变体),特别是因为我的机器是公司的成员Windows 域。我希望我可以从我之前的其他人的经验中学习。也许我错过了 MSDN 中更详细的页面。
-
您需要成为 Performance Monitor Users 组的成员才能读取性能计数器,但我不确定这包括哪些权限。
标签: c++ security winapi performancecounter