2017-01-16 15 views
0

C#で特定のファイルシステムフォルダを仮想化するWindowsデスクトップアプリケーションを作成したいので、アプリケーションがフォルダにファイルを格納し、ファイルシステムにファイル/サブフォルダのようにファイルとサブフォルダを表示させます他のフォルダのフォルダ(仮想化されたフォルダ)。ファイルシステムの仮想化 - これはC#/ .NETで可能ですか?

これはC#で行うことができますか? それはファイルアクセスのパフォーマンスのペナルティなしで行うことができますか?

私はC++で書かれたいくつかのアプリを知っていますが、私はC#を使いたいと思っています(もっとモダンで、もっと慣れているからです)。おそらく、これに利用できるlibsもありますか?私はsharpfilesystemにしか行きませんでしたが、まだそれほど深くは見えませんでしたが、私が探していることをすることができるかどうかはわかりません。私はファイルシステムの仮想化が私がしたいことに使用される正しい言葉なのかどうかも分かりませんので、もしこれが別のものであれば修正してください(シンボリックリンク、エイリアスは関連しています)。

+0

カスタムファイルシステムドライバは必要ありませんか? –

+0

私のアプローチは、実際にディスク上のファイルやどこかに書き込むエミュレートされたHDDですが、@ JamesHughesはシステムドライバが必要だと示唆しており、C#だけは聞いていません。編集:私はちょうどhttps://msdn.microsoft.com/windows/hardware/drivers/wdf/getting-started-with-umdf-version-2これは助けている可能性があります見つけた。 –

答えて

1

今後の技術は、シェル名前空間拡張(SNE)と呼ばれています。残念ながら、no (supported) way of creating a managed SNEがあります:

マイクロソフトは、WindowsのエクスプローラまたはWindowsのInternet Explorerへのインプロセスの拡張機能を管理する書き込みに対して推奨していますし、それらはサポートのシナリオを検討していません。

具体的なシナリオでは、NTFS junction pointsでも十分です。

+0

ジャンクションポイントは、私がやりたいことに対して実際には実用的ではありません。しかし興味があれば、私が探していたものを見つけました:https://github.com/TanninOne/usvfsこれはC++のdllですが、C#で使うことができると思います。 – BadmintonCat

関連する問題