當您想要在 Windows 上建立 FAT 或 NTFS 以外的新檔案系統時,您需要開發檔案系統驅動程式。開發在 Windows 上以核心模式工作的裝置驅動程式是一項非常技術性的工作。透過使用Dokan,您可以非常輕鬆地建立自己的檔案系統,而無需編寫裝置驅動程式。 Dokan 類似於 FUSE(使用者空間中的 Linux 檔案系統),但可以在 Windows 上運行。此外,dokany 還包含一個 FUSE 包裝器,可協助您無需更改即可移植 FUSE 檔案系統。
Dokany 是 Dokan 0.6.0 的一個分支,具有錯誤修復、清晰的變更歷史記錄並更新為使用最新工具進行建置。
因為原來的 Dokan Legacy (< 0.6.0) 項目不再維護。
從 0.8.0 版本開始,dokany 破壞了與 dokan API 的兼容性。有關詳細信息,請參閱選擇版本。
隨著時間的推移,API 在 1.1.0 和 2.0.0 中再次改變。
在空閒環境中針對 v1.5.1.1000 和 v2.0.3.1000 的memfs
樣本執行 5 次重複順序測試多個情境的基準測試,以獲得精確的結果。詳細結果可以在此處的電子表格中查看。隨著 v2 中添加了更好的線程和記憶體輪詢,預計並發場景(如那些測試)將得到更大的改進。
結果範例:
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 包含 LGPL 和 MIT 許可的程式。
有關詳細信息,請檢查許可證文件。
您可以從 https://dokan-dev.github.io 取得原始檔案
多坎致力於
平台
每個版本都為所有平台提供了簽名版本和調試驅動程式。
Dokan 函式庫包含一個使用者模式 DLL (dokan2.dll) 和一個核心模式檔案系統驅動程式 (dokan2.sys)。一旦安裝了Dokan檔案系統驅動程序,您就可以建立可以被視為Windows中普通檔案系統的檔案系統。使用Dokan庫建立檔案系統的應用程式稱為檔案系統應用程式。
來自使用者程式的檔案操作請求(例如,CreateFile、ReadFile、WriteFile...)將被傳送到Windows I/O 子系統(在核心模式下運行),該子系統隨後將請求轉發到Dokan 檔案系統驅動程序(dokan2.x)。透過使用 Dokan 使用者模式庫 (dokan2.dll) 提供的函數,檔案系統應用程式能夠將回調函數註冊到檔案系統驅動程式。檔案系統驅動程式將呼叫這些回調例程以回應它收到的請求。回調例程的結果將被傳送回使用者程式。
例如,當Windows資源管理器請求開啟目錄時,帶有Direction選項的CreateFile請求將被傳送到Dokan檔案系統驅動程序,並且驅動程式將呼叫檔案系統應用程式提供的CreateFile回呼。該例程的結果將作為對 CreateFile 請求的回應傳送回 Windows 資源管理器。因此,Dokan 文件系統驅動程式可充當使用者程式和檔案系統應用程式之間的代理。這種方法的優點是允許程式設計師在使用者模式下開發文件系統,安全且易於調試。
要了解有關 Dokan 文件系統開發的更多信息,請參閱 和示例,尤其是 dokan_memfs。
簡而言之,下載並安裝 Visual Studio 2019,在安裝過程中選擇 Windows 10 SDK 元件或從「工具」功能表中選擇並安裝 WDK 10
有關詳細信息,請參閱構建頁面。
最新的官方和簽名版本可以從以下位置下載:
choco install dokany2
手動安裝,請參閱安裝頁面。
你希望多坎變得更好嗎?貢獻!
了解程式碼並在 GitHub 儲存庫上提出更改建議。
檢測缺陷並在 GitHub 問題追蹤器上報告它們。
在 Github 討論群組或 Google 討論群組中提問和回答問題。