Dokan:Windows和Linux文件共享新的途径

本文介绍了如何使用Dokan库在Windows上创建新的文件系统,无需编写复杂的内核模式驱动。此外,还介绍了如何利用DokanSSHFS将Linux服务器上的目录以网络盘形式挂载到本地,实现安全高效的远程文件访问。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Dokan Library

  如果您想在Windows系统上创建一个新的文件系统的话,例如:改进FAT或NTFS文件系统,您就需要自己开发一个文件系统驱动。在Windows系统上开发工作在内核模式的设备驱动程序是一件极为困难的事情。使用Dokan库(Dokan Library),您可以非常方便地创建自己的文件系统而不需要编写设备驱动程序。Dokan库类似于Linux下的FUSE用户空间文件系统,但是它工作在Windows下。

  Dokan库包含一个用户模式的DLL文件(dokan.dll)以及一个内核模式文件系统驱动(dokan.sys)。Dokan文件系统驱动一旦安装,您就可以在Windows上创建和普通文件系统一样的文件系统。使用Dokan库创建的文件系统的应用程序称为文件系统应用程序。来自用户程序的文件操作请求(例如:CreateFile,ReadFile,WriteFile等)将被发送的 Windows输入/输出子系统(运行在内核模式),请求之后将被发送到Dokan文件系统驱动程序(dokan.sys)。通过使用Dokan用户模式库文件(dokan.dll)提供的函数,文件系统应用程序能够向文件系统驱动程序注册回调函数。文件系统驱动程序在收到请求后调用注册的回调函数例程来响应请求。回调函数例程的处理结果将返回给用户程序。例如:当Windows资源管理器请求创建一个目录,请求“OpenDirectory”将发送到 Dokan文件系统驱动程序,然后驱动程序将调用文件系统应用程序提供的OpenDirectory回调函数例程。函数例程的处理结果作为 OpenDirectory请求的响应返回给Windows资源浏览器。如此一来,Dokan文件系统驱动程序就如同一个位于用户程序和文件系统程序之间的代理程序。使用Dokan库的好处是,它允许程序员开发更安全也更容易调试的用户空间文件系统。

二、Dokan SSHFS

  SSHFS(SSH文件系统)是一个文件系统客户端程序,使用它可以将远程服务器上的目录挂载在本地直接访问。先前的版本用于输出SFTP提供的目录和文件,而当前的版本主要用于安装有FUSE的系统上。在用户访问服务器资源的过程中,数据通过SSH加密传输,安全而高效。

  Dokan是FUSE的Windows实现,使用Dokan SSHFS可以将Linux服务器上的目录以网络盘的形式挂载到本地使用,类似于Samba。要使用Dokan SSHFS需要首先安装Dokan Library,它们可以在Dokan官方网站下载。

2010022211412452.png

转载于:https://www.cnblogs.com/dengke/archive/2010/02/22/1670858.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值