Ответы с форумов MSDN

Предотвратить отправку жесткому диску ATA-команды SECURITY FREEZE LOCK в Windows

Date: 30.10.2017 3:50:21

Windows начиная с Vista (а также XP SP3) посылает команду SECURITY FREEZE LOCK всем жестким дискам, работающим под стандартным ATA-драйвером. Сбросить команду можно только перезагрузкой диска, но естественно, если после перезагрузки грузятся те же дрова, это не решает проблему.

На "Можно ли отключить через самописный драйвер" я полагаю, ответ - "да". Однако, более простым решением была бы разработка под более старую ОС или Windows 8 Preinstallation Environment, которые не посылают данную команду.

Message 628

Date: 30.10.2017 16:57:31

"какие использовать библиотеки/функции/классы использовать, чтобы реализовать такой драйвер?"

Драйвера пишутся на чистом Си и используют прямые вызовы к функциям ядра (ntoskrnl). См. этот раздел документации: https://msdn.microsoft.com/en-us/library/windows/hardware/ff557573(v=vs.85).aspx. Там же есть ссылка на скачивание Windows Driver Kit, который содержит необходимые заголовочные файлы, библиотеки и примеры. Однако для разработки своей замены стандартного ATA-драйвера только документации Microsoft будет недостаточно, нужно читать много специальной литературы. Которой боюсь и в свободном доступе и нет в полной мере (например, даже документ по ATA-коммандам, на который я вам давал ссылку в соседней теме - это по сути черновик стандарта, а полноценную версию нужно покупать.)

"И по поводу WinPE: Как именно с ним работать? (ATA команды и Freeze lock)"

WinPE это просто упрощенная версия Windows, запускающаяся с загрузочной флешки или диска. Под нее можно также как под обычную Windows, разрабатывать консольные или графические приложения и вызывать API-функции CreateFile и DeviceIoControl для отправки команд устройству.

Ссылки:

Среда предустановки Windows (WinPE)

Windows ADK


Автор: VadimTagil

Главная страница - Список тем - Репозиторий на GitHub