Создание файловой системы "Драйвер" - PullRequest
3 голосов
/ 15 сентября 2011

Я ищу создание "драйвера" для файловой системы на физическом диске для Windows.Я точно не знаю лучшего способа объяснить это, но устройство уже имеет надлежащие драйверы и все такое для Windows, чтобы взаимодействовать с ним, но я хочу, чтобы пользователь мог подключить устройство ких ПК, чтобы он отображался в «Моем компьютере» и предоставлял им полную поддержку для просмотра устройства.

Я понимаю, что, возможно, немного страшно думать о ком-то, кто не знает основ работы над чем-то подобным дажезадаю вопрос, но у меня уже есть классы и все, что создано для чтения в моем собственном приложении ... Я просто хочу, чтобы все было более централизованным и без дополнительной работы со стороны конечного пользователя.У кого-нибудь есть хорошее руководство по созданию такого проекта?

Ответы [ 4 ]

4 голосов
/ 15 сентября 2011

Наиболее близкая вещь, которую я знаю из того, что я понимаю из вашего описания, - это устанавливаемая файловая система, например, устанавливаемая файловая система Ext2 , которая позволяет компьютерам Windows работать с Linux создает файловые системы ext2 (и в некоторой степени ext3).

Возможно, это может послужить отправной точкой для ваших расследований.

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

1 голос
/ 26 сентября 2011

Ваши варианты:

  1. Создание драйвера файловой системы в режиме ядра. 9-12 месяцев работы для опытного разработчика.
  2. Используйте фреймворк и делайте все в режиме пользователя. Пару недель работы над созданием прототипа. Единственный недостаток этого подхода в том, что он медленнее, чем драйвер режима ядра. Вы можете поиграть с упомянутым выше Dokan или использовать нашу файловую систему обратного вызова для разработки коммерческого уровня.
0 голосов
/ 15 сентября 2011

Если вы собираетесь полагаться на драйверы, которые уже существуют, т.е. вам не нужно фактически выполнять свой код в стране ядра для связи с ним, я бы порекомендовал вам взглянуть на FUSE для Windows Dokan

Если вам действительно нужно работать в пространстве ядра и напрямую взаимодействовать с оборудованием, вы, вероятно, захотите скачать windows DDK (комплект разработки драйверов).Помните, что драйверы для связи с блочным устройством и файловыми системами разделены, и это звучит так, как будто вы говорите о самой файловой системе.Я считаю, что все, что вы запускаете в пространстве ядра, не будет иметь доступа к среде выполнения c ++, а это значит, что вы можете использовать только подмножество c ++ для драйверов ядра.

0 голосов
/ 15 сентября 2011

Я думаю, вам нужно просмотреть документацию Windows Driver Kit (и связанные с ней темы), чтобы точно понять, что вы хотите создать.

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