2017-02-14 19 views
0

SetupAPIを使用してデバイス用にインストールされたドライバを変更しようとしています。ドライバはすでにPC上に存在し、現在選択されていません。インストールされているデバイスドライバの変更

具体的には、USBコンポジットデバイスのサードパーティ製ドライバのインストールを元に戻して、代わりにデフォルトのWindowsドライバをインストールしようとしています。

私はすでにそれがはほとんど次のように働いて得た:まず、デバイスを見つけることが

SetupDiGetClassDevs 
SetupDiEnumDeviceInfo 
SetupDiGetDeviceInstanceId 

を使用してデバイスを見つけます。

次に、私はドライバを見つけたら、私はこれが実際にできるように、バックドライバを切り替えるん

SetupDiSetSelectedDriver 
SetupDiInstallDevice 

を呼び出して、私は

SetupDiBuildDriverInfoList 
SetupDiEnumDriverInfo 
SetupDiGetDriverInfoDetail 

を使用してインストールするデフォルトのUSB複合デバイスドライバを見つけますデバイスマネージャで監視する必要があります。

ただし、サードパーティのドライバはデバイスを独自のグループ/カテゴリに入れていますが、この変更はではなく、となりました。

デバイスマネージャーで標準のUSBコンポジットデバイスドライバを手動で選択すると、はデバイスカテゴリをUSBコントローラに復元します。そのため、ドライバのインストールプロセスが不完全だと思います。私は何が欠けていますか?

答えて

0

作業インストール手順は

SetupDiSetSelectedDevice 
SetupDiSetSelectedDriver 
InstallSelectedDriver // From newdev.dll, not in a public header 
で判明