2014年6月30日月曜日

切断したネットワークドライブ Dokan

Dokanを使い、仮想ドライブを作っています。

ネットワークドライブ、という扱いにすると、どうしても「切断したネットワークドライブ」になってしまいます。Windows 7だけ? Windows XPではならない、という情報も。。。


http://dokan.googlecode.com/svn/trunk/sys/howtobuild.txt

上のURLのテキストに、次の文言が記されています。

** Network filesystem/provider support

Dokan supports network filesystem mode. You need dokan network provider dll in \dokan_np.
Please build it and copy dokannp.dll into Windows\system32 directly.
You need to register network provider dll to system : dokanctl.exe /i n 
(Unregister network provider : dokanctl.exe /r n) 
You probably need to restart your computer after register or unregister network provider.
And try "mirror.exe /r root_path /l drive_letter /n". 
/n option means to mount as network drive 
Network filesystem mode is an experimental implementation and not tested well. 

どうも、Dokan専用、network providerを提供する必要が有るようです。

ーーー

(2014/8/2追記, 9/19編集)

判りました。

結論的には、Windows 7の64ビット版でも対応可能、デジタル署名がなくても実現可能です。



但し、64ビット環境では、32ビット用DLL、64ビット用DLLの、両方のDLLを用意する必要が有ります。

レジストリでは、設定は一か所だけ。例のようになっていると思います。

例:%SystemRoot%\System32\davclnt.dll

両方を同時に設置できる謎は、レジストリの仮想化、ファイルシステムの仮想化に有ります。

次のパスのように、仮想化によって実在場所の解釈が異なるので、各々設置できるようになっています。

C:\Windows\System32\davclnt.dll
C:\Windows\SysWOW64\davclnt.dll

これがトリックの全貌でした。。。

0 件のコメント:

コメントを投稿