Проблема - внешний диск через 50 секунд после последнего обращения засыпает. Просыпается быстро, примерно через секунду, но все равно раздражает. Хочется чтобы он вообще не останавливался. В качестве простейшего решения попробовал программу, которая раз в 15 секунд записывает в открытый на диске файл несколько байт и вызывает функцию fflush(). Решение, но хочется все-таки ничего не записывать, а просто "трогать" диск на низком уровне - читать текущий сектор или что-то такое, что бы не приводило к записи, не дергало диск (не приводило к перемещению считывающих головок) и занимало бы минимум времени. Но при этом не давало бы ему засыпать! 1. Есть ли в винде какие-нибудь низкоуровневые функции, позволяющие сделать такое? 2. Есть ли универсальные средства управления спящими режимами внешних HDD? 3. Может быть есть уже готовые решения? Нашел только программу xSleep, но там минимальный период - минута, а мне нужно немного меньше.
CreateFileA("\\.\PhysicalDrive0", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0) не?
Если Windows Vista и выше, то зайди в "Панель управления" - "Электропитание" - "Настройка плана электропитания" - "Изменить дополнительные параметры питания", тут в разделе "Жёсткий диск" попробуй параметр "Отключать жёсткий диск через" выставить в "Никогда". Не уверен, что поможет, но мало ли.
нет, система XP Sp2 и никуда переходить с нее не собираюсь Насчет CreateFile - ну открою я устройство, а дальше что? (спрашиваю просто потому что никогда с подобным образом устройствами не работал)
Тебе x64 сказал что сделать, а ХР тоже самое имеет. Проверь сначала. Ищи утилиты для своего винта от производителя ими управляй диском.
Все доступные в панели управления настройки винды (электропитание) уже пробовал... действуют только на внутренние диски, если бы было так просто я бы не спрашивал. Утилит от производителя нету - ни на офсайте, ни сторонних. Я первым делом стал искать утилиты, потому что для аналогичного диска Maxtor такая утилита была. На форумах люди задают вопросы, но ответов нет (xSleep я нашел на каком-то англоязычном форуме, и пока это единственное что я нашел)
Попробуй в свойствах диспетчера Устройств, найти УСБ девайс и выключить ему разрешение на экономию электроэнергии.
Попробуйте утилиту CrystalDiskInfo (http://crystalmark.info/?lang=en). Меню Функци->Расширенные опции->Управление AAM/APM APM- расширенное управление питанием. Может, вам поможет.
gorodon Спасибо огромное! Это именно то что надо! А я уже хотел было писать софтину, которая обращалась бы к диску с какой-то периодичностью