簡體   English   中英

Windows資源監視器使用哪個API?

[英]Which API does Windows Resource Monitor use?

Windows資源監視器顯示(除其他外)磁盤上的哪些文件當前由哪些進程訪問。 它實時地做到了。 怎么樣?

我知道它可能使用ETW並且我可以使用像xperf這樣的工具生成跟蹤。 但是如何在不必啟動,停止和解析跟蹤文件的情況下獲取實時信息?

我需要以編程方式訪問數據,即從C#或C ++。

只要您知道提供者GUID, OpenTrace / ProcessTrace / StopTrace就可以實時獲取數據。 它們可以在Win2000上運行,但您需要在回調函數中解析原始數據。 要將原始數據轉換為人類可讀的文本,我們需要TMF / MOF。 不確定它們是否公開。

對於Vista / Win7,有一組新的TDH(跟蹤數據助手)API(例如:TdhFormatProperty)。 向下滾動上面的一些鏈接,你可以看到它們。 TDH的好處是它們可以為您解析數據(盡管仍然需要為TDH提供TMF / MOF)。

我嘗試使用Open / Process / StopTrace API將自己的.etl寫入可讀的.txt程序(因為我需要支持XP)。 我發現它很難。 TMF文件不難解釋,因為它是純文本。 困難的是破譯50多種不同的未記錄的類似格式規范的內部結構。 所以我最終放棄了並堅持使用Microsoft WDK中提供的強大的tracefmt.exe

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM