Очевидно, что IRTOY имеет ошибку и нуждается в полной перезагрузке, и отключение питания - единственный способ сделать это. Плохой.
Одним из решений для переключения питания VBUS с помощью программного обеспечения является использование USB-концентратора с переключаемыми контроллерами питания портов (их обычно сложно найти, но все же проще, чем найти системную плату ПК с контроллерами питания портов). Затем вам нужно выполнить ClearPortFeature (PORT_POWER) для порта с подключенным IRTOY, а затем SetPortFeature (PORT_POWER).
Как именно это сделать из пространства приложения, я не уверен, но бесплатный просмотрщик USB-устройств (от Uwe Sieber ) может отключать и включать порт VBUS, используя всплывающую опцию «Перезагрузить устройство». Имейте в виду, что к USB-порту обычно подключен значительный конденсатор, поэтому для прокачки VBUS может потребоваться некоторое время, поэтому команды «Очистить» и «Установить» должны быть правильно разделены во времени. К сожалению, USBTreeView делает это слишком быстро. Кроме того, вы можете перезапустить весь концентратор, для отключения VBUS на его нисходящих портах требуется достаточно много времени.
Если у Уве нет открытого исходного кода, вам нужно перейти в Microsoft SDK для получения основного исходного кода USBView и выяснить, как выдавать команды отключения / включения порта для драйвера.