これは、USB ポートを介して Windows 7 システムに接続された医療ラボ機器 (当社製品) であり、電源投入直後に Windows サービスによって起動されるアプリケーションによって制御されます。
私の目標は、メイン アプリケーションと並行して単純なアプリケーションを実行することで、機器の問題を診断できるようにすることです。計測器との通信は、最終的に COM オブジェクトと通信するサーバー (シングル スレッド アパートメント内) を介して行われます。
私の診断アプリケーションでは、メイン アプリケーションと同じ手順に従って機器に接続しています。
最初の数回の試行の後、アプリケーションがユーザー アカウントで実行されているのに対し、計測器に関連するプロセスはシステム アカウントで実行されていることに気付きました。メイン アプリケーションのサービスを停止し、そのログイン プロパティをユーザー アカウントのログイン プロパティと一致するように変更しました。私の診断アプリケーションはまだ USB デバイスに接続できません。
私は 90% の時間をファームウェア開発者として扱っており、Windows システムのジャングルに対処しなければならないときは頭が回転します。私がフラストレーションを感じているのは、これがすべて機能するシナリオが 1 つありますが、そのシナリオはメイン アプリケーションをデバッグするためのものであり、ユーザー モードでは機能しないということです。
メイン アプリケーションが Windows サービスではなくコンソール アプリによって開始される場合、すべてのプロセスがユーザー アカウントの下にある場合、私の診断アプリケーションは問題なく動作します。
同じユーザー アカウントで実行されている 2 つの同時アプリケーションで同じデバイス サーバーを使用する場合、2 つのシナリオの違いは何ですか?
ありがとうございました。