Support L1+
![Contributor](http://forum.oszone.net/images/groups/contributor.gif)
Сообщения: 5260
Благодарности: 1059
|
Профиль
|
Отправить PM
| Цитировать
urch, Посмотрел у себя... В общем, все упирается в параметр EnableSelectiveSuspend, который есть у некоторых устройств в ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB. В принципе, найти нужные железки труда не составит, поскольку там используются те же обозначения, что и в Диспетчере устройств. Можно прямо в поиске забить какой-нибудь "Корневой USB-концентратор" и найти ветку с ним. Ну или просто искать последовательно все EnableSelectiveSuspend и менять им значение с 1 на 0, что аналогично снятию галочки в Диспетчере устройств.
Однако в ходе экспериментов выяснились интересные факты. Например, даже полное удаление всех прав доступа на соответствующую ветку в реестре ничуть не мешает ставить \ снимать эту галочку в свойствах устройства. При этом Process Monitor показывает, что Диспетчер устройств запущен даже не от имени системы а от текущего пользователя, но это абсолютно не мешает ему менять параметр в реестре, на который в принципе ни у кого нет доступа. Причем если вручную менять этот параметр в реестре (с 1 на 0 или наоборот), то на Диспетчере устройств это никак не отразится, т.е. в Диспетчере устройств галочка в свойствах железки (отключение электропитания) будет стоять в том положении, в котором она была оставлена последний раз, а не будет следовать текущему значению параметра EnableSelectiveSuspend. Очень странное поведение...
Однако если перезагрузить ПК, то система считает именно последнее значение параметра EnableSelectiveSuspend и установит для устройства соответствующую галочку. Т.е. нужен .bat-файл, который будет менять все параметры EnableSelectiveSuspend с 1 на 0 при выключении компьютера, чтобы при следующем старте система загрузилась с нужными параметрами. Только я не знаю есть ли вообще такой функционал в планировщике заданий, который позволял бы выполнять задания именно при выключении компьютера, а не при старте системы. Навскидку я ничего такого не припомню.
Но самое главное, что все это выглядит какими-то совершенно дичайшими костылями. По идее вам должно хватать того самого параметра в плане электропитания, который запрещает отключение USB-портов. Ибо запрет на отключение самого USB-контроллера... Да мне кажется, он на современном ПК всегда работает, к USB куча всего ведь подключено: клава, мышь, принтер, веб-камера и бог знает что еще.
|