
winfsp v2.2B3
Windows-Dateisystem-Proxy - FUSE für Windows
WinFsp · Windows Dateisystem-Proxy
WinFsp ermöglicht Entwicklern, ihre eigenen Dateisysteme (d.h. "Windows-Laufwerke") als Benutzermodusprogramme zu schreiben, ohne Kenntnisse der Windows-Kernelprogrammierung. Es ist ähnlich wie FUSE (Filesystem in Userspace) für Linux und andere UNIX-ähnliche Computer.
winfsp.dev
Überblick
WinFsp ist eine Plattform, die Entwicklungs- und Laufzeitunterstützung für benutzerdefinierte Dateisysteme auf Windows-Computern bietet. Üblicherweise können beliebige Informationen oder Speicher über WinFsp als Dateisystem organisiert und präsentiert werden, mit dem Vorteil, dass die Informationen über die standardmäßigen Windows-Datei-APIs von jeder Windows-Anwendung aus zugänglich sind.
Der Kern von WinFsp besteht aus einem Kernel-Mode-Dateisystemtreiber (FSD) und einer User-Mode-DLL. Der FSD interagiert mit dem Windows-Kernel und wickelt alle notwendigen Interaktionen ab, um sich als Dateisystemtreiber zu präsentieren. Die DLL interagiert mit dem FSD und bietet eine API, die zur Behandlung von Dateisystemfunktionen verwendet werden kann. Wenn beispielsweise eine Anwendung versucht, eine Datei zu öffnen, erhält das Dateisystem einen Open-Aufruf mit den notwendigen Informationen.
Die Verwendung von WinFsp zum Erstellen eines Dateisystems bietet viele Vorteile:
Einfache Entwicklung: Die Entwicklung von Kernel-Mode-Dateisystemen für Windows ist bekanntermaßen eine schwierige Aufgabe. WinFsp macht die Dateisystementwicklung relativ schmerzfrei. Dieses Tutorial erklärt, wie man ein Dateisystem erstellt.
Stabilität: Stabile Software ohne bekannte Kernel-Mode-Abstürze, Ressourcenlecks oder ähnliche Probleme. WinFsp verdankt diese Stabilität seinem Design und seinem strengen Testregime.
Korrektheit: Strebt nach Dateisystemkorrektheit und Kompatibilität mit NTFS. Einzelheiten finden Sie im Dokument Kompatibilität.
Leistung: Hervorragende Leistung, die in vielen Dateisystemszenarien mit NTFS konkurriert oder diese übertrifft. Lesen Sie mehr über seine Leistung.
Breite Unterstützung: Unterstützt Windows 7 bis Windows 11 und die Architekturen x86, x64 und ARM64.
Flexible API: Enthält Native-, FUSE2-, FUSE3- und .NET-APIs.
Shell-Integration: Bietet Funktionen zur Integration von Benutzermodus-Dateisystemen in die Windows-Shell. Siehe das Dokument Service-Architektur.
In sich geschlossen: Eigenständige Software ohne externe Abhängigkeiten.
Weit verbreitet: Wird in vielen Open-Source- und kommerziellen Anwendungen mit Millionen von Installationen verwendet (geschätzt: Das WinFsp-Projekt verfolgt seine Benutzer nicht).
Flexible Lizenzierung: Verfügbar unter der GPLv3-Lizenz mit einer speziellen Ausnahme für Freie/Libre und Open-Source-Software. Eine kommerzielle Lizenz ist ebenfalls erhältlich. Bitte kontaktieren Sie Bill Zissimopoulos <billziss at navimatics.com> für weitere Details.
Installation
Laden Sie den WinFsp-Installer herunter und führen Sie ihn aus. Wählen Sie im Installer die Option aus, die "Developer"-Dateien zu installieren. Diese enthalten das MEMFS-Beispiel-Dateisystem sowie Header- und Bibliotheksdateien, mit denen Sie Ihr eigenes Benutzermodus-Dateisystem entwickeln können.
Starten eines Dateisystems zum Testen
Sie können WinFsp testen, indem Sie MEMFS von der Befehlszeile aus starten:
billziss@xps ⟩ ~ ⟩ net use X: \\memfs64\test
The command completed successfully.
billziss@xps ⟩ ~ ⟩ X:
billziss@xps ⟩ X:\ ⟩ echo "hello world" > hello.txt
billziss@xps ⟩ X:\ ⟩ dir
Directory: X:\
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 6/12/2022 5:15 PM 28 hello.txt
billziss@xps ⟩ X:\ ⟩ type hello.txt
hello world
billziss@xps ⟩ X:\ ⟩ cd ~
billziss@xps ⟩ ~ ⟩ net use X: /delete
X: was deleted successfully.
MEMFS (und alle Dateisysteme, die den WinFsp-Launcher verwenden, wie im Dokument Service-Architektur beschrieben) können auch über den Explorer mit der Funktion "Netzlaufwerk verbinden" gestartet werden.
Ressourcen
Dokumentation:
Diskussion: