2011-12-20 6 views
1

System.DiagnosticはWMIを照会するなどの方法でデータを取得しますか? WMIは、これらの操作が実行中のプロセスなどのシステム情報を取得するために使用する最も基本的な方法をクエリしていますか?System.DiagnosticはWMIを照会するなどの方法でデータを取得しますか?

+2

これは、あなたが参照しているデータに非常に依存しています。役に立つ答えを得るためには、 'System.Diagnostic'よりも具体的にする必要があります。それか、Adamが示唆したように、あなた自身がコードをステップ実行します。しかし、情報が得られる場所はすべて、設計によって非常に抽象化されていることに留意してください。情報がどこから来たのかを知っていたり、気にしたりすることはありません。このような機能を自分で実装しようとしている場合は、どの情報を取得するのかを具体的に変更してください。 –

答えて

4

いいえ、それはWMIを使用していません。 mscorlib.dllとSystem.dllのSystem.Win32名前空間内の内部クラスを介して直接ネイティブAPI呼び出しを使用します。 PerformanceCounterやEventLogのようなほとんどのクラスは、advapi32.dllへのネイティブ呼び出しを使用するレジストリにアクセスします。プロセスリストを取得するなどの他の機能は、Windowsのバージョンに応じてwinnt.dllまたはkernel32.dllで呼び出しを使用します。 hereで使用されたネイティブWin32呼び出しの詳細と、パフォーマンスカウンターの詳細情報はhereです。

dotPeekまたはReflector.NETを使用して確認し、mscorlib.dllおよびSystem.dllのSystem.Diagnosticsを調べることができます。

関連する問題