Visual Studio 出力ウィンドウ (これが標準出力であると仮定) にステータスを出力するプログラムから呼び出す DLL があり、実行時にその出力をキャプチャしたいと考えています。
これを行う方法の例はすべて、Process を使用して外部アプリまたはコンソール アプリを起動し、Process インスタンスから StandardOutput をキャプチャすることを前提としています。しかし、この場合、プログラムは DLL を直接呼び出します。余分なプロセスを開始するわけではありません。
プログラムが DLL を呼び出している間、標準出力に出力された内容を読み取り、デバッグ用にログに記録し、DLL が失敗した場合はプログラムを終了したいと考えています。DLL 呼び出しが戻ると、プログラムは正常に続行するはずです。
他のスレッドが DLL 呼び出しを行っているときに、DLL 出力を処理するために別のスレッドが必要であることはわかっています。そもそも出力をキャプチャする方法がわかりません。