Доступ к одному и тому же ресурсу при перезагрузке в Windows - PullRequest
3 голосов
/ 31 июля 2009

Я запишу что-нибудь в файл / память непосредственно перед выключением системы или отключением службы. При следующем перезапуске системы возможно ли получить доступ к тому же файлу или к той же памяти на диске до загрузки файловой системы? Фактическое требование таково: у нас есть драйвер, который находится между драйверами уровня тома и драйвером файловой системы ... в этой части кода драйвера я хочу получить доступ к памяти или файлу.

Спасибо и всего наилучшего,
Кальвин

Ответы [ 2 ]

2 голосов
/ 31 июля 2009

Логическая вещь здесь состоит в том, чтобы прочитать / записать это в реестр, если он не слишком велик. Есть ли причина, по которой вы не хотите использовать реестр?

Если вам нужен доступ к большим данным, и вы пишете том или фильтр устройства, и не можете полагаться на функции ZwOpen / Read / Write / Close в ядре, можно было бы создать файл в пользовательском режиме, получить его имя устройства и цепочки кластеров и хранить их в реестре. При следующей загрузке вы можете получить устройство и кластеры из реестра и выполнить прямой ввод-вывод для них.

0 голосов
/ 01 августа 2009

Поскольку вы хотите получить доступ к этому до загрузки файловой системы, моей первой мыслью является выделение и использование блока дискового пространства на жестком диске вне файловой системы. Вы можете создать скрытый мини-раздел на диске и использовать низкоуровневые команды ввода / вывода для чтения и записи ваших данных.

Это обычная задача в мире встраиваемых систем, и мы часто реализуем ее, добавляя в систему какое-либо энергонезависимое запоминающее устройство (флэш-память, DRAM с батарейным питанием и т. Д.) И читая и записывая на это устройство , Поскольку у вас, вероятно, нет такого же уровня контроля над доступным оборудованием, как у разработчиков встраиваемых систем, самый близкий аналог, который я могу придумать, - это зарезервировать кусок пространства на физическом диске, с которого вы можете читать, без необходимости монтировать его как файловая система. Выделенный мини-раздел может работать лучше, потому что, если вы знаете его размер, вы можете рассматривать его как один большой буфер необработанного доступа и избежать лишних хлопот с именами файлов, файловыми системами и т. Д.

...