私のクライアントには、NAudio を使用して、スケジュールに基づいて数時間、デフォルトの録音デバイスに着信オーディオを録音する長時間実行プロセスがあります。一度に数日または数週間実行されたままのデスクトッププログラムとして実行されます。
今日、彼は私にこの例外報告を送ってくれました:
Cannot pass a GCHandle across AppDomains.
Parameter name: handle
System.ArgumentException
at System.Runtime.InteropServices.GCHandle.InternalCheckDomain(IntPtr handle)
at System.Runtime.InteropServices.GCHandle.FromIntPtr(IntPtr value)
at NAudio.Wave.WaveIn.Callback(IntPtr waveInHandle, WaveMessage message, IntPtr userData, WaveHeader waveHeader, IntPtr reserved) in C:\Libraries\NAudio\naudio-5019c8f1c6fc\NAudio\Wave\WaveInputs\WaveIn.cs:line 132
at NAudio.Wave.WaveWindow.WndProc(Message& m) in C:\Libraries\NAudio\naudio-5019c8f1c6fc\NAudio\Wave\MmeInterop\WaveWindow.cs:line 64
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
グーグルで調べましたが、明らかなものは見つかりませんでした。サイレントに例外をキャッチする必要のない、これに対する適切なパッチまたは修正はありますか?
私は、いくつかの調整を含む自作バージョンの NAudio を使用していますが、このエラーを引き起こすものは何もありません。