Dokan library 0.3.9 released
September 28th, 2008 in Dokan
Dokan library 0.3.9 is released today.
Dokan library is a user mode file system library for Windows.
x64 version is not ready now. I updated only x86 version.
Changes from 0.3.7
- Fixed: TRUNCATE_EXISTING is not working problem (issue)
- Fixed: FILE_FLAG_DELETE_ON_CLOSE is not working problem (issue)
- Fixed: CloseFile is never called problem, I’m not sure whether I could really fix this problem.
- Fixed: Disable APC when calling ExAcquireResourceExclusiveLite
- Fixed: Error check of memory allocations
I put a link to issues list on the header. If you find a bug, please use this link.
I also add a svn repository for Dokan library.
Wow, I’m surprised that there is an implementation of userspace filesystems in Windows! I’ve been looking for something like this for a while, thanks!
By the way, I think your About page (http://dokan-dev.net/en/about/) has a few typographical errors:
“Dokan means ‘cray pipe’ in Japanese. Dokan library works as proxy and lookd like ‘pipe’.”
It probably should read as such:
“Dokan means ‘clay pipe’ in Japanese. The Dokan library works as a proxy and looks like a ‘pipe’.”
I’m looking forward to new developments in Dokan!
Thank you, John
As you know, I’m not a native English speaker. Especially, giving an article is difficult for me :-
Hi, Hiroki,
I was glad to find the dokan project with it’s great functionality and simplicity for use. But it’s still a few compatibility restrictions to start use it immediately for me. I mean the language and/or it’s version (.net-2.0).
What you think about the idea to unbind dokan from any language by passing addresses of callback functions as parameters to dinamic libriary?
Thanks.
Taya.
A newbie question about Dokan file deletion .
Why
* Dokan perform deletion immediately when the SET_INFORMATION_FILE packet is received instead of defer the deletion until the file is closed (exactly speaking the request is the deletePending state changing request).
and
* ” if (!dispositionInfo->DeleteFile) ” is commented off ?
After a google swimming, I found http://www.osronline.com/showThread.cfm?link=79371 and (the FastFat sample also shows this)
Hello, Hiroki,
Hey, no problem! We’re just all happy that you’ve made a userspace filesystem library for Windows.
Hello, Taya
Dokan needs to send a message to user mode file system application and receive a result.
The callback is the first way to do.
> I mean the language and/or it’s version (.net-2.0).
What do you mean? I think Dokan.NET should work in the later version of .NET if you recompile it, though, I didn’t try it.
Thanks,
Hi, 路人甲
Thank you for you information. The commentout is just for easy implementation.
I should do something for file deletion.
Dokan has a problem when multiple file deletions on Explorer. This might be related to the delete-on-close issue.
Good Work!
Thanks.
Konnichiwa Hiroki-san,
thanks for your great work. I’ve nearly finished the second beta of a tool which introduces the file system of Topfield PVR’s to Windows.
Right now, DokanGetDiskFreeSpace and DokanGetVolumeInformation return hard coded values. Any plans to implement these call backs?
Best regards, Alex
Hi Hiroki
thanks a lot for your great work. I tried the same work many years ago and I know how difficult it is, to get it into this working state like yours. - Thanks a lot again
But I have a further question. Under NTFS it is possible to give the Files some more Informations - Author, Title etc.
You can see it under details of the file. It is possible that your FS also can handle these details. This would be great.
Best regards, Wolfram
How can I unmount a remote file system? Closing the file browser does not do the unmount.
Thanks for a very useful program!
Glen.
Hi, Wolfram
That function is implemented with “alternate stream”. Dokan also supports alternate streams by specifying it in DOKAN_OPTIONS.
Hello, glen worstell
Do you mean Dokan SSHFS? You can right click on the tasktray icon and click “umount”.
Hello, Alex
I have some requests to implement them on Dokan.NET but I haven’t decided yet. Dokan library itself can handle those requests so If you modify Dokan.NET, you can use them on your file system.
Thanks for your reply
Fabulous work, this looks really helpful. I have an application that requires mounting more than one drive letter from the same application. It looks to me like the driver should support this, but the user space library doesn’t. If the drive letter was added to the DOKAN_FILE_INFO structure that’s passed to the callbacks, then it would be relatively easy for me to do the rest. Any plans on adding this in a future release?
Hi Hiroki.
When will be your next source-code update? I tried to figure out the problems but i couldn’t understand the bug source.
By the way, your project is wonderful and too much helpful.
Hi Hiroki
First I have implemented a RAM - Disk in c# based on your Dokan library 0.3.9. Now it seems to run
- I can create, move, renname files and directorys - so all seems to be perfect. But it seems that your lib will change some Errorcodes. When open a file with CreateFile and FileMode = OpenOrCreate and the file already exits WinXP will set the Errorcode to 183 - ERROR_ALREADY_EXISTS. If I try to get the same result with my RAM Disk i produce the same Error (183*-1) but the testing application will receive Error 80 - ERROR_FILE_EXISTS. Why is the received Errorcode not the same as the sended Errorcode.
Best regards, Wolfram
PS: thanks a lot for your great work
Hi,
Anyone having problem running under Vista64? I know that the 64bit version is not yet available but can we run the 32bit version in emulation? Should the 64bit version of 0.9.37 work? Are there any special steps to make it work?
Thanks a lot.
Keep up the great work.
Rod
Hi Rod Cloutier,
under Vista64 you should copy dokan.dll to “C:\Windows\SysWOW64″ directory. However Hiroki still has not compiled 0.3.9 version for 64Bit processors and you can test with older versions of dll.