Wenn Sie unter Windows ein neues Dateisystem außer FAT oder NTFS erstellen möchten, müssen Sie einen Dateisystemtreiber entwickeln. Die Entwicklung eines Gerätetreibers, der im Kernelmodus unter Windows funktioniert, ist äußerst technisch. Mit Dokan können Sie ganz einfach Ihre eigenen Dateisysteme erstellen, ohne Gerätetreiber schreiben zu müssen. Dokan ähnelt FUSE (Linux-Dateisystem im Benutzerbereich), funktioniert aber unter Windows. Darüber hinaus enthält dokany einen FUSE-Wrapper, der Ihnen hilft, Ihre FUSE-Dateisysteme ohne Änderungen zu portieren.
Dokany ist ein Fork von Dokan 0.6.0 mit Fehlerbehebungen, sauberem Änderungsverlauf und aktualisiert, um mit den neuesten Tools zu erstellen.
Weil das ursprüngliche Dokan Legacy-Projekt (< 0.6.0) nicht mehr gepflegt wird.
Seit Version 0.8.0 hat Dokany die Kompatibilität mit der Dokan-API unterbrochen. Weitere Informationen finden Sie unter „Eine Version auswählen“.
Die API hat sich dann im Laufe der Zeit in 1.1.0 und 2.0.0 erneut geändert.
Ein Benchmark, der mehrere Szenarien wiederholt und nacheinander testet, wurde fünfmal mit dem memfs
Beispiel von v1.5.1.1000 und v2.0.3.1000 in einer Leerlaufumgebung ausgeführt, um präzise Ergebnisse zu erzielen. Die Detailergebnisse können in dieser Tabelle hier eingesehen werden. Da in Version 2 ein besseres Threading und eine bessere Speicherabfrage hinzugefügt wurden, wird erwartet, dass gleichzeitige Szenarien (wie diese Tests) noch stärker verbessert werden.
Ein Auszug der Ergebnisse:
Create New | +13.55% | List | +60.69% | GetAttributes | +48.78% | Read | +18-42% |
Open/Overwrite | +153.41% | ListExactFile | +131.91% | SetAttributes | +120.91% | Write | +10-32% |
RandomOpenClose | +173.05% | | | Delete | +90.83% | | |
Dokan enthält LGPL- und MIT-Lizenzprogramme.
Einzelheiten finden Sie in den Lizenzdateien.
Quelldateien erhalten Sie unter https://dokan-dev.github.io
Dokan arbeitet weiter
Plattform
Bei jeder Version werden für alle Plattformen signierte Release- und Debug-Treiber bereitgestellt.
Die Dokan-Bibliothek enthält eine Benutzermodus-DLL (dokan2.dll) und einen Kernelmodus-Dateisystemtreiber (dokan2.sys). Sobald der Dokan-Dateisystemtreiber installiert ist, können Sie Dateisysteme erstellen, die in Windows als normale Dateisysteme angesehen werden können. Die Anwendung, die Dateisysteme mithilfe der Dokan-Bibliothek erstellt, wird als Dateisystemanwendung bezeichnet.
Dateioperationsanforderungen von Benutzerprogrammen (z. B. CreateFile, ReadFile, WriteFile, ...) werden an das Windows-I/O-Subsystem gesendet (läuft im Kernel-Modus), das die Anforderungen anschließend an den Dokan-Dateisystemtreiber (dokan2) weiterleitet. sys). Mithilfe der von der Dokan-Benutzermodusbibliothek (dokan2.dll) bereitgestellten Funktionen können Dateisystemanwendungen Rückruffunktionen beim Dateisystemtreiber registrieren. Der Dateisystemtreiber ruft diese Rückrufroutinen auf, um auf die empfangenen Anforderungen zu antworten. Die Ergebnisse der Callback-Routinen werden an das Benutzerprogramm zurückgesendet.
Wenn beispielsweise Windows Explorer das Öffnen eines Verzeichnisses anfordert, wird die Anforderung der Option „CreateFile with Direction“ an den Dokan-Dateisystemtreiber gesendet und der Treiber ruft den von der Dateisystemanwendung bereitgestellten CreateFile-Rückruf auf. Die Ergebnisse dieser Routine werden als Antwort auf die CreateFile-Anfrage an Windows Explorer zurückgesendet. Daher fungiert der Dokan-Dateisystemtreiber als Proxy zwischen Benutzerprogrammen und Dateisystemanwendungen. Der Vorteil dieses Ansatzes besteht darin, dass er es Programmierern ermöglicht, Dateisysteme im Benutzermodus zu entwickeln, der sicher und einfach zu debuggen ist.
Weitere Informationen zur Dokan-Dateisystementwicklung finden Sie in den und den Beispielen, insbesondere dokan_memfs.
Kurz gesagt: Laden Sie Visual Studio 2019 herunter und installieren Sie es. Wählen Sie während der Installation oder im Menü „Extras“ die Windows 10 SDK-Komponente aus und installieren Sie das WDK 10
Einzelheiten finden Sie auf der Build-Seite.
Der neueste offizielle und signierte Build kann heruntergeladen werden von:
choco install dokany2
Informationen zur manuellen Installation finden Sie auf der Installationsseite.
Du willst, dass es Dokan besser geht? Beitragen!
Lernen Sie den Code kennen und schlagen Sie Ihre Änderungen im GitHub-Repository vor.
Erkennen Sie Fehler und melden Sie sie im GitHub Issue Tracker.
Stellen und beantworten Sie Fragen in Github-Diskussionen oder in der Google-Diskussionsgruppe.