1

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

具体的には、USB 複合デバイス用のサードパーティ ドライバーのインストールを元に戻し、代わりに既定の Windows ドライバーをインストールしようとしています。

私はすでに次のようにほとんど機能しています:最初に、を使用してデバイスを見つけます

SetupDiGetClassDevs
SetupDiEnumDeviceInfo
SetupDiGetDeviceInstanceId

デバイスを見つける。

次に、インストールするデフォルトの USB 複合デバイス ドライバーを見つけます。

SetupDiBuildDriverInfoList
SetupDiEnumDriverInfo
SetupDiGetDriverInfoDetail

ドライバーを見つけたら、電話します

SetupDiSetSelectedDriver
SetupDiInstallDevice

これにより、デバイス マネージャーで確認できるように、実際にはドライバーが元に戻ります。

ただし、サードパーティのドライバーはデバイスを独自のグループ/カテゴリに入れました。この変更は、私のアプローチを使用しても元に戻されません。

デバイス マネージャーで標準の USB 複合デバイス ドライバーを手動で選択すると、デバイス カテゴリUSB コントローラーに復元されます。これが、ドライバーのインストール プロセスが不完全であると考えられる理由です。何が欠けている可能性がありますか?

4

1 に答える 1