Microsoft Windows で、プロセスを生成し、プロセスの終了ステータスに加えて、プロセスが読み書きしたすべてのファイルのリストを返す C++ 関数を作成したいと考えています。生成されたアプリケーションからの協力は必要ありません。
たとえば、生成されたプログラムが Visual Studio C++ コンパイラである場合、関数は、コンパイラが開いたソース ファイル、読み取ったすべてのヘッダー ファイル、および.OBJ
作成したファイルを含むリストを生成します。.DLL
プログラムに含まれるファイルなども含まれていれば問題ありません。しかし、繰り返しになりますが、生成されたプログラムに関係なく動作するはずです。コンパイラは単なる例です。
ひねり: プロセスがサブプロセスを作成する場合、それらのファイル アクセスも監視する必要があります。
2 つめのひねり: プロセスがファイルを開こうとした場合、そのファイルを作成できるようになるまでプロセスを待機させ、その後で再開してファイルを開くことができるようにしたいと考えています。(これはETWを除外すると思います。)
これはおそらく何か恐ろしいクラッジの材料のように聞こえるでしょう。しかし、これを機能させることができれば、最終結果は本当に素晴らしいものになるでしょう。