Dokan library 0.3.4 released
Dokan library 0.3.4 is now released
Dokan library is a user-mode file system for Windows.
I added an automatic unmount feature when dokan.dll is unload. I recommend you not to relay on this feature, file sytem should do unmount when file system exits.
I also added keep alive to check user-mode file system is alive. When you set TRUE on DokanOptions->UseKeepAlive, dokan library automatically unmounts 15 seconds after user-mode file system hanged up.
Changes from 0.3.2
- Added automatic unmount when dll is unloaded
- Added keep alive to check user-mode file system is alive
- Added multiple sessions
- Fixed BSOD when write operations are canceled by timeout
- Fixed the number of max thread in user-mode
- Many refactorings
I changed the domain name to dokan-dev.net.
hi
you’re doing great work! automatic unmounting will be very useful during development.
Peter
Hi Hiroki,
I’m having a little issue under Win Vista. My Dokan.NET application worked for a little while, until I had to reboot yesterday. Now, when I start my app, its window shows, but the “Dokan drive (N:)” doesn’t show when I navigate to “Computer”.
Running “DebugView” revealed the following message on startup:
[3908] Dokan Error: CreatFile Failed : 5
When I then close my app, DebugView catches the following messages:
[3908] send release
[3908] Dokan Error: Failed to open \\.\n: with code 2
[3908] Failed to unmount n:
[3908] failed to connect DokanMounter service: access denied
[3908] send release
[3908] Dokan Error: Failed to open \\.\n: with code 2
[3908] Failed to unmount n:
[3908] failed to connect DokanMounter service: access denied
Do you have any idea, how I might fix this issue?
Regards
Hello, Sebastian
Please check return value of DokanMain. I think your file system failed to mount drive.
Hi Hiroki,
the return value is “-3″. If I’m correct, Dokan is unable to install the driver?
A little additonal notice…..I just tried running my application as Administrator and that works fine. Possibly a security/permission problem of the Dokan mounter service?
Hi,
i attempted to make a simple network
file system with Dokan, the code and
precompiled binaries are given on
“my website”. It is just a toy example.
It is by no means complete.
There are two programs,
one client and one server. The
server just sits somewhere on the net,
and the client contacts it and mount
the filesystem. The server keeps files
in RAM, and can mount a directory
in read only.
The client is in C and the server in
Ocaml. There is a kind of “protocol
compiler” which can output C and Ocaml
code for parsing simple user-definable
protocol messages. But don’t waste
too much time looking for the doc
Thanks
P.S. : Hiroki, what do you think
about adding the Dokan thread number
of the thread that is processing a
request to the structure DOKAN_FILE_INFO ?
Hi Hiroki,
what registry keys would I need to check to find out whether Dokan library is installed properly?
BTW….did you get a chance to reproduce my Vista-issue from above?
Cheers,
Sebastian
Hello, Sebastian
> what registry keys would I need to check to find out whether
> Dokan library is installed properly
SSHFS installer checks the existence of dokan.dll.
You may use registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Dokan or DokanMounter.
Administrator privilege is needed to communicate with Dokan driver. You need a manifest file for .NET application. I want to decrease the restriction of privilege, but I can’t figure out now hot to do.
Hello, naguine
I can’t read OCaml but it sounds interesting.
> what do you think about adding the Dokan thread number
> of the thread that is processing a request to the structure DOKAN_FILE_INFO?
You can use GetCurrentThreadId Windows API if you want to know the current processing thread id.
Why you need the Dokan thread number?
Hi Hiroki,
The interesting thing about
the Dokan thread id instead of
the Windows one is that it is
known to lie in the range
[0, ThreadCount - 1], so that
making structures indexed on this
id is easier in C
cheers
Hi Hiroki,
Dokan is really nice library, free FUSE for windows is wanted by many people. Keep on it!
But, of course, I’m writing to complain
I’ve found an issue when user wants to delete a file or a directory. If deletion is performing without moving to trash bin - everything is ok. But when deletion has default behaviour (moving to trash) - something strange happen and handler-function is called twice, and result of second call (yep, an error code) is returned to calling process.
Fixes for it will be great. Thanks anyway!
Hello, Michael
Thank you for your information.
That problem is still under investigation.