デバイスドライバ経由で取得

2004年08月18日の日記で書いた、プロセス所有のハンドルの列挙についてであるが、これはいったんデバイスドライバを介する必要があるようだ。ProcessExplorerやProcessWalkerといった既存のツールでもデバイスドライバを使って取得している。(ProcessExplorerの場合はなぜか実行時にのみデバイスドライバを展開し、終了時に削除している。)デバイスドライバのコードは小規模なものではあるようだが、Windowsでのデバイスドライバの機構は知らないので情報集めは苦労している。とりあえず、デバイスドライバ部分はProcessExplorerのを流用させてもらうのもよいかもしれない。