- 締切済み
デバイスドライバの完全削除の方法
或るUSBデバイスのドライバを削除して再度USBを挿入し、新規のデバイスのインストールウイザードからやり直したいのですが、デバイスマネージャーでドライバを削除してもUSBコネクタを挿入すると削除しないのと同じで問題なく接続されてしまいます。 OSの再インストールをしないで完全に削除する方法が有ればお教え下さい。 Windows2000professionalです。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- coredump
- ベストアンサー率46% (12/26)
う~ん、そうですか。。。 ちょっとwebで調べてみても決定的なサンプルは見当たらないですね。。。 斜め読みですが、 http://www.osronline.com/lists_archive/ntdev/thread9834.html が参考になると思います。 特に以下の記述の処理が正しいと思うです。 On uninstalling, what I do is basically (in this order): - get the INF file name and section that was installed from (SetupDiOpenDevRegKey, query InfPath, InfSection and InfSectionExt) - get the service name (SetupDiGetDeviceRegistryProperty for SPDRP_SERVICE) - remove the device (SetupDiCallClassInstaller for DIF_REMOVE) - remove the service (OpenSCManager, OpenService, DeleteService) - delete driver files (scan DDInstall and DDInstall.CoInstallers in INF section for files to delete, use Setup APIs) - delete INF and PNF file (W2K)/call SetupUninstallOEMInf (XP+)
- coredump
- ベストアンサー率46% (12/26)
それなら話は早いです。 DDKのサンプルdevconを使えば良いです!
補足
DDKのドキュメントの中を探しましたが残念ながらdevconというのは見つかりません。私が持っているのは何年も前にダウンロードしたNTDDKというもので、その中のPORTIOをビルドしてインストールした事が有るだけです。
- coredump
- ベストアンサー率46% (12/26)
どもっす。 プログラム書けますか? DDKもっていますか? 一回インストールされたUSBドライバとかの情報はレジストリに書き込まれ、レジストリエディタでは消せないです。 プログラムを書けるなら方法はあるのですが、、、。
補足
回答有難う御座います。 VC++でWindowsアプリは書いていますがDDKは今のところ無理と思います。 DDKは持っていますし試しにサンプルをコンパイルした事は有りますが、それ以上は...。
お礼
マイクロソフトのサイトからDevCon.EXEをダウンロード出来ました。残念ながらソースは最新のDDKを入手しないとだめのようです。 まだ使い方を見ているところです。何しろドライバーの操作なので慎重です。 うまくいくといいのですが。