Open Source Dokan library 0.3.2 released
I am pleased to announce the release of open source Dokan library 0.3.2.
Dokan is a user-mode file system for Windows. You can make your open file system very easily!
Now dokan is released under open source license.
Dokan contains LGPL, GPL and MIT licensed programs.
- user-mode library (dokan.dll) LGPL
- driver (dokan.sys) GPL
- control program (dokanctl.exe) MIT
- mount service (mounter.exe) MIT
You can download new dokan library and source code from Download Page.
You must uninstall previous version and restart your computer BEFORE install new version.
Changes from 0.2.6
- Changed license
- Fixed directory entries when accessed by Windows file sharing
- Refactoring
I added new document to Doc
How to build dokan library
Sorry, link was broken.
[...] Mike Riversdale wrote an interesting post today onHere’s a quick excerptI am pleased to announce the release of open source Dokan library 0.3.2. Dokan is a user-mode file system for Windows. You can make your open file system very easily! Now dokan is released under open source license. … [...]
Hi Hiroki.
First I thank you for your work.
I’m actually working on a project using a serial device to retrieve data from a card and i’ve fought with Namespace Exstension for long and still miss some functionnality.
As the project include a linux part I’ve worked with fuse and then discovered your project which is very interesting.
I was just wondering if there was not a way to unmount automatically when the process exit. Else I will find a way it’s just to know if you had implemented the function and I just missed it.
Keep your good work.
Hello, kein
Dokan doesn’t have automatic unmount feature. If you stop your user-mode file system, you should run “dokanctrl /u drive_letter” to unmount the drive. I think it is important for Dokan to work correctly even if user-mode application hanged up, so Dokan needs automatic unmount feature. I’ll implement it in the feature version.
Hi Hiroki,
I’m developing a commercial/shareware .Net application and am using your Dokan.NET framework. Now I’m a little confused about the licensing, concerning the redistribution of your different library parts.
I know that the LGPL allows me to redistribute the (unchanged) dokan.dll as well as the DokanNet.dll with my installer. But how about the Dokan.sys (driver…I guess the dokan.dll needs it, right?)? Can I redistribute it as well?
If not, how should I proceed? Can I include your installer in my installer? Shall I redirect users to your website and make them install the Dokan lib themselves?
Just to make sure…I’m talking about unmodified versions of all libraries.
Again, my best regards for your work!
Sebastian
Hello, Sebastian
You can redistribute Dokan library under GPL license. If you don’t change Dokan library, you can include Dokan library in your package
without any source code. GPL doesn’t taint your software because Dokan driver and your program are separate programs. Your software can link to dokan.dll because dokan.dll is LGPL.
(dokan.dll needs dokan driver.)
For more details of GPL, please check FAQ of GPL.
http://www.gnu.org/licenses/gpl-faq.html
To install Dokan library, you need to setup Dokan library correctly, so I recommend you to launch Dokan installer from your installer.
Hi Hiroki,
thanks for the answer I’ll be sure to check for the newer version.
Another question has come to me, why is there so much repeated call to certain functions.
For example by selecting a file the readfile method is called twice.
Is it the way Windows works or I made a mistake somewhere?
Thanks again for your work, it works very well. I have already exceeded the level where I was with my Namespace Extension.
@Kein
AFAIK, these multiple calls are normal, since Windows tries to read the file headers, in order to gain information about the file (e.g. read the thumbnail from a jpeg header to display it in the “Thumbnail” view). Because some headers are larger than others, Windows normally hands over a buffer of the size 4096, lets it be filled (by you) and then checks it for the required information. If Win can’t find e.g. the jpeg’s metadata or the thumbnail from the example above, it hands over another buffer of the size 4096, and then another and another…..until you have pushed through the whole file. This happens, for example, if you have a jpg photo with no metadata header.
Many thanks Hiroki, I appreciate your hard work in getting this directory issue fixed for me.. I will try it out very shortly.
Thanks Again,
HarryH
I created following things. Please see! And I’m glad if this patches are add to official packages.
1. Windows 2000 patch
2. Add “-noLockOnSource” option to mirror file system
3. Java Wrapper - JDokan
4. MemoryFS
5. JSFlickrFS
http://yukoba.accelart.jp/2008/05/windows-fuse-dokan-become-open-source.html
Hello, yukoba
Thank you very much for your contribution.
I was amazed by your speedy job. I want to try your Java binging when I have a time.
Win2k issue:
Dokan doesn’t support Win2k because I don’t have testing environment and I don’t afford to test on many platforms. I saw your patch, but it causes memory leaks when filter driver is used. FsRtlTeardownPerStreamContexts must be called when FCB is freed.
I found how to handle this problem, so I may release Win2k support version without binary release.
mirror issue:
I didn’t notice that application can’t be launched from mirrored file system. I’ll try to check it later.
Thanks
Hi Hiroki,
thanks for this wonderful tool !
I’m builing a C program that redirects
Dokan calls to the network, and i
would like to contribute it when
it’s ready (a week or so).
Would you be interested in
incorporating it in Dokan ?
I also have a question about useability :
i would love it if dokan could be used
without the need for it to be installed, so that you could distribute an executable that works
right out of the box. I have absolutely no knowledge about windows, but do you think it’s possible ?
thanks again,
cheers
Hello, naguine
Automatic installing is difficult for Dokan because Dokan library needs some setup; installing driver, registering service. To make it uninstallable is also important, so Dokan needs the installer.
FYI, I’m starting to implement FUSE binding support.
So far, everything looks fine.
Except that it would be nice to support mounting in arbitrary directories, not just on top-level disks.
Ok, I have some questions now
It is not possible to have several Dokan sessions in one process at the same time. But it should be fairly easy to add it, as far as I can see there are just a few globals which can be fairly easy eliminated.
Next, is it possible to implement “fuse_interrupted” function? It tells if a request has been interrupted.
Also, can you tell me your e-mail? I can’t find it on this site.
Hello, Alex
> It is not possible to have several Dokan sessions in one process
> at the same time. But it should be fairly easy to add it, as far
> as I can see there are just a few globals which can be fairly
> easy eliminated.
Dokan can handle multiple mounts at once when you mount drives from separate multiple programs. I also think it is useful to be able to multiple mount from one program, so I’ll add this feature next version.
> Next, is it possible to implement “fuse_interrupted” function?
> It tells if a request has been interrupted.
What do you mean “interrupted”? A request is already canceled?
> Also, can you tell me your e-mail? I can’t find it on this site.
I put email address on top page.
Thanks
Find the files you are looking for at my-dvdrip.com the most comprehensive source for free-to-try files downloads on the Web