Сведения о вопросе

ЧОВИД

21:06, 1st October, 2020

Программно возобновить работу USB-устройства (Windows OS)

Просмотров: 417   Ответов: 3

Известно, что перед тем как вытянуть USB-флешку из порта, нужно её предварительно безопасно извлечь. Это легко сделать, с учётом того, что в WinAPI предусмотрена спец. функция для этого (несмотря на все ньюансы, проблема вроде решена).

А как можно вернуть устройство в активное состояние, не извлекая его из USB-порта? USB Safely Remove и Zentimo xStorage Manager это делать умеют:

image



  Сведения об ответе

padenie

23:31, 28th September, 2020

Вам наверное в сторону «SetupDiCallClassInstaller» нужно копать… вот пример кода, правда на Delphi:
programmersforum.ru/showpost.php?p=31168&postcount=12
с вроде необходимым вам функционалом.


  Сведения об ответе

PAGE

00:10, 29th September, 2020

Прошу прощения, а разве нет рядом другой спец.функции для установки девайса?

Кстати, в той же статье есть ссылка на другую, где описывается фокус с кодом ошибки 21 вместо 47, если пользователь — администратор.


  Сведения об ответе

piter

08:07, 30th September, 2020

USB Safely Remove при попытки вернуть устройство как-то спросил у меня: мол уверен ли я, что в соседний порт того же концентратора не воткнут wifi-модуль? И посулил проблемы с сетью в случае положительного ответа. Посему я подозреваю, что при возврате устройства производится передергивание usb-контроллера, а не волшебное возвращение отдельного устройства.

Но естественно это лишь мои домыслы и в проблеме на низком уровне я не разбираюсь, поэтому рекомендую обратиться к разработчиками USB SM; они по-моему русские и вполне адекватны.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться