当前位置: 代码迷 >> 汇编语言 >> 用性能计数器取cpu的占用率,为何总说没有数据可取
  详细解决方案

用性能计数器取cpu的占用率,为何总说没有数据可取

热度:199   发布时间:2016-05-02 04:32:13.0
用性能计数器取cpu的占用率,为什么总说没有数据可取?
我用性能计数器取CPU占用率,但是PdhCollectQueryData函数的返回值总是PDH_NO_DATA,求解这是为什么?
部分代码如下:
szProc		db	"\\Processor Information(_Total)\\%Processor Time",0

invoke PdhOpenQuery,NULL,NULL,addr hQuery
invoke PdhAddCounter,hQuery,addr szProc,NULL,addr hCounter
invoke PdhCollectQueryData,hQuery
invoke PdhGetFormattedCounterValue,hCounter,4,NULL,addr stCPU
invoke PdhCloseQuery,hQuery


我测试过,PdhAddCounter函数是返回成功的。
------解决方案--------------------
晕,那个 "\\Processor(_Total)\\% Processor Time" 是 c/c++ 的写法,汇编里应该是 "\Processor(_Total)\% Processor Time",因为汇编里没有把反斜杠字符作为控制符。
  相关解决方案