Подключите и отключите USB программно "БЕЗ ОТКЛЮЧЕНИЯ И ПЕРЕКЛЮЧЕНИЯ" - PullRequest
1 голос
/ 27 мая 2009

Мне нужно подключить и отключить USB программно. То есть я вставил USB-устройство. Мне нужно передать файл с помощью приложения C #, .NET. Приложение будет наблюдать за конкретной папкой и передавать файл из этой папки на USB-накопитель. Мне нужно отключить устройство USB после передачи файла и подключить USB при необходимости - без отключения и повторного подключения.

Каким будет код для этого или есть какой-нибудь файл DLL?

Главное: ПРИМЕЧАНИЕ, ПРИМЕЧАНИЕ: Без отключения и повторного подключения USB-устройства .

Ответы [ 2 ]

1 голос
/ 28 июня 2009

Если ваша цель состоит в том, чтобы сделать определенный том диска недоступным, пока вы его не используете, более разумным может быть использование API управления томами, например, используя контрольный код IOCTL_VOLUME_OFFLINE. (Я предполагаю, что вы знаете, какая буква диска принадлежит вашему USB-диску.)

Кроме того, вы можете программно отключить и включить том-устройство с помощью CfgMgr / SetupAPI - так же, как щелкнуть правой кнопкой мыши том в Диспетчер устройств и выбрать Отключить . (Информацию об использовании SetupAPI см. В примере кода DevCon , поставляемом с Windows WDK, и см. В MSDN такие функции, как SetupDiChangeState .)

Для последнего варианта может потребоваться учетная запись привилегированного пользователя.

0 голосов
/ 27 мая 2009

Я не совсем уверен, но это можно сделать. В Linux я сталкивался с некоторыми ситуациями, когда питание устройства отключалось программным способом. Ядро обычно делает это, если на подключенном USB-устройстве слишком много ошибок. Таким образом, это должно быть возможно сделать даже в Windows. Возможно, вам придется написать свою собственную внешнюю DLL, чтобы сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...