- - PR -
USBのドライバインストールは、イーサネット通信に影響する?
1
投稿者 | 投稿内容 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2007-07-25 16:23
いつも参考にさせて頂いております。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【環境等】 .NET C#, VC, VB 【状況】 常時イーサネット通信をしているアプリケーションがあります。 既にリリース済みの客先での現象ですので、正確な情報がつかめないこともありますが、 アプリケーション動作中に、USBフラッシュメモリを挿すと、 自動認識してドライバのインストールが起動されます。 その時に、アプリケーション側のイーサネット通信が、中断してしまうようなのです。 【対応方法案】 現在の対応方法案として、ドライバのインストールを監視してフックするより、 アプリケーション動作中には、新しいUSBを無視する方向で考えています。 調査した結果、USBの使用を禁止する方法はあるようですが、 目的は、まったく使えなくするのではなく、下記のように切り替えできるようにしたいのです。 アプリケーション@では、USBを使える。 (もしくは自動認識する) アプリケーションAでは、USBが使えない。(もしくは自動認識しない) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【質問】 Q1.USBのドライバインストールは、イーサネット通信に影響するのでしょうか? Q2.アプリケーション動作中は、ハードウエアの自動認識、 あるいは、ドライバのインストールを、禁止することはできるのでしょうか? | ||||||||||||
|
投稿日時: 2007-07-25 17:57
マスストレージドライバがネットワークを切るという話は 聞いたことがありません。 マスストレージドライバは それほど重いという印象はありませんが、 初回ならデバイスのインストールがありますし、 初回でなくとも中を検索したりしますから 負荷が増えます。 それで中断していまうのではないですか? 「常時」とは、どのくらいの頻度ですか? タイムアウトはどのくらいですか? 非常識な値ですと切断してしまうこともあると思います。
そんな方法があるのですか? 是非教えていただけるとうれしいです。
私のwindowsの理解ですと、 カーネルモードのPnPマネージャがデバイスを見つけてインストールするので、 PnPマネージャに指令を出さなければいけませんが、 管理者権限が必要ですし、 cfgmgr32.hにもsetupapi.hにもそれらしいAPIはありません。 きちんと確認したこととか調査したことはありませんが。 アプリからデバイスのインストールを禁止するのは危険ですので 無くて当然だと思います。 情報漏洩とかが問題になってますから、 もしかしたらセキュリティとかポリシー系のAPIで USBストレージとかリムーバブルメディアを切る機能はあるかもしれませんが、 私は知りません。 ただアプリケーションが負荷に弱いだけではないかという気がします。 | ||||||||||||
|
投稿日時: 2007-07-25 18:02
「イーサネット通信が、中断」って言い方は普通しないような。文字通り解釈すると、一時的にNICのドライバが無効になるといっているように聞こえるんだけど、本当にそうなの?
常識的にはありえない。ただしドライバの検索やインストールの処理に伴い、システムの負荷が高くなり、その影響でアプリケーションの応答が遅くなることはあるでしょう。でもそれによってイーサネットが中断するというのは考えにくいです。
OSの標準的な機能としては用意されていないと思うけど・・・。 #たんにアプリケーションの作り方が不味いだけな予感がします。 | ||||||||||||
|
投稿日時: 2007-07-27 07:21
ドライバのインストールは、最初だけのはずなので、毎回切断されるというのは、なんか違うと思います。
また、「切断される"ようです"」というのも気になります。表面的に通信がエラーになっているのを、通信が切断されていると予想しているに過ぎないですよね? それならば、まずは現象を正しく把握することが先ではないでしょうか。 とりあえず、アプリケーション起動まえにフラッシュメモリを刺し抜きしてドライバをインストールしておき、アプリケーションを起動してからもう一度、同じメモリを同じポートに刺します。このとき、再びドライバがインストールされるなら、OSそのものあるいはドライバに障害があると思われます。ドライバのインストールは行われないのに通信が止まるなら、アプリケーションのストレステストをしみましょう。 | ||||||||||||
|
投稿日時: 2007-07-30 10:32
専門外なのでInsider.NET会議室はあまり見ていません。
A1.通常はありえません。 A2.アプリケーションの動作中に限定した話だと判りません。 但し、レジストリを操作することでUSB 記憶装置を使用できないようにする方法はあります。 全てのUSB接続装置に対するPnPを停止させるわけではありませんが・・・。 |
1