/ winfsp

Загрузить

Быстрые ссылки
Преимущества | Вики | Вопросы | Твиттер автора

Проверить мой новый проект драйвера ядра WinSpd.

WinFsp — это набор программных компонентов для компьютеров Windows, который позволяет создавать файловые системы в пользовательском режиме. В этом смысле он похож на FUSE (файловая система в пользовательском пространстве), который предоставляет те же функции на UNIX-подобных компьютерах.

Преимущества

Стабильность

WinFsp очень стабилен. Нет известных сбоев режима ядра, и он не страдает утечками ресурсов или аналогичными проблемами. WinFsp обязан этой стабильностью своему дизайну и строгому режиму тестирования.

Производительность

WinFsp превосходит своих конкурентов и во многих сценариях работает а также NTFS. Подробнее о его производительности.

Совместимость

WinFsp стремится к совместимости с NTFS и правильности файловой системы. Для получения полной информации см. Документ о совместимости.

Простота использования

WinFsp имеет простой в использовании, но всеобъемлющий API.

  • В этом простом руководстве объясняется, как создать файловую систему.
  • Обратитесь к Справочнику по API для собственной разработки.
  • Включает уровень .NET для управляемой разработки. См. Src/dotnet.
  • Включает уровень совместимости FUSE 2.8: fuse/fuse.h
  • Включает уровень совместимости FUSE 3.2: fuse3/fuse.h

Другие преимущества

  • Подписанные драйверы предоставляются в каждом выпуске.
  • Доступны под лицензией GPLv3 со специальным исключением для Free/Libre и программного обеспечения с открытым исходным кодом.

Чтобы узнать больше о WinFsp, посетите его веб-сайт: http://www.secfs.net /winfsp/

Организация проекта

Исходный код проекта организован следующим образом:

  • 📁 build/VStudio: файлы решений и проектов WinFsp.
  • 📁 doc: Документацию по проекту WinFsp и дополнительную документацию можно найти здесь.
  • 📁 ext: Внешние зависимости.
    • 📁 ext/tlib: небольшая тестовая библиотека изначально из проекта secfs (Secure Cloud File System).
    • 📁 ext/test: подмодуль, указывающий на проект secfs.test, который содержит ряд инструментов для тестирования файловых систем Windows и POSIX.
  • 📁 inc: Public headers.
    • 📁 inc/fuse: публичные заголовки для уровня совместимости FUSE.
    • 📁 inc/fuse3: общедоступные заголовки для уровня совместимости FUSE3.
    • 📁 inc/winfsp: общедоступные заголовки для WinFsp API.
  • 📁 src: исходный код WinFsp.
    • 📁 src/dll: исходный код библиотеки WinFsp.
    • 📁 src/dll/fuse: Исходный код для уровня совместимости FUSE.
    • 📁 src/dll/fuse3: Исходный код для FUSE3 уровень совместимости.
    • 📁 src/dotnet: исходный код для уровня .NET.
    • 📁 src/fsptool: исходный код утилиты командной строки fsptool.
    • 📁 src/ku: исходный код, который можно использовать из режима ядра или пользователя.
    • 📁 src/launcher: исходный код для службы запуска и утилиты launchctl.
    • 📁 src/sys: исходный код WinFsp FSD.
  • 📁 -emoji> opt/cygfuse: исходный код пакета FUSE для Cygwin.
  • 📁 ji> tst: исходный код примеров файловых систем и наборов тестов.
    • 📁 tst/winfsp-tests: набор тестов WinFsp.
  • 📁 tools: различные инструменты для создания и тестирования WinFsp.

Сборка и запуск

Для сборки WinFsp вам потребуется следующее:

  • Visual Studio 2015-2019
  • Комплект драйверов Windows (WDK) 10
    • ПРИМЕЧАНИЕ : при использовании последней версии WDK (Windows 10.0.18362.1) с Visual Studio 2015 вы можете получить сообщение об отсутствующей задаче ValidateNTTargetVersion . Чтобы исправить это, отредактируйте файл Program Files (x86) Windows Kits 10 build WindowsDriver.Common.targets и измените строку UsingTask для ValidateNTTargetVersion следующим образом:
          
  • Набор инструментов Wix

Для полной сборки WinFsp ( включая установщик) необходимо использовать tools build.bat . По умолчанию он создает сборку Release, но вы можете выбрать конфигурацию Debug или Release, используя синтаксис:

  tools  build.bat CONFIGURATION  

Если вы создадите драйвер самостоятельно, он не будет подписан, и Windows откажется загружать его, если вы не включите «тестовое подписание». Вы можете включить «подписание тестов» с помощью команды bcdedit.exe -set testsigning on . Для получения дополнительной информации см. Этот документ.

WinFsp разработан для работы в Windows 7 и выше.. Он был протестирован на следующих платформах:

  • Windows 7 Enterprise
  • Windows 8 Pro
  • Windows Server 2012
  • Windows 10 Pro
  • Windows Server 2016

Как помочь

Мне нужна помощь в следующих областях:

  • Если у вас есть файловая система, работающая на FUSE, рассмотрите возможность переноса ее на WinFsp. WinFsp имеет собственный API, но он также имеет FUSE (высокоуровневый) API.
  • Если вы работаете с языком, отличным от C/C ++ (например, Delphi, Java и т. Д.) И вы заинтересованы в переносе/упаковке WinFsp, я хотел бы услышать от вас.
  • В репозитории GitHub перечислен ряд нерешенных проблем. Многие из них требуют знания режима ядра Windows и понимания внутреннего устройства WinFsp, поэтому они не для слабонервных.

Во всех случаях я могу предоставить идеи и/ или поддержка.

Где обсудить

Если вы хотите обсудить WinFsp, теперь есть два варианта:

  • Группа Google WinFsp
  • Твиттер автора

Лицензия

WinFsp доступен по лицензии GPLv3, за исключением Free/Libre и программного обеспечения с открытым исходным кодом. Также доступна коммерческая лицензия. Пожалуйста, свяжитесь с Биллом Зиссимопулосом для получения более подробной информации.

Оцените статью
Botgadget.ru
Добавить комментарий