Search code examples
c#network-drive

Add Device with Removable Storgae\Map Network Drive to Windows


my client asked me to replicate the services provided by this SpeedyDrive software.

SpeedyDrive is a tool which basically uploads your selected files to a remote server which you can access from anywhere with legitimate account credentials.

  1. On the non basic side, to enhance usability, it "SAYS" that it has mapped a network drive which you can access when you log-in. You can see it's icon in the screen shot below which appears when you log-in and disappears when you log-out.

    Speedy Drive

  2. Further more, you don't select files to be uploaded(SAVED ONLINE), you copy-paste them in this drive and it does this uploading abstractly.

  3. Further more more, it even shows 4TB of space and and its file system named DOKAN.

My Question is how to do 1,2,3 with C#, if not then HOW WITH C++ ?


Solution

  • As already stated by Hans and Erik, there is no reliable way to implement this type of functionality in pure C#. It requires a windows driver, and drivers cannot be created with C#. However, there are 3rd party drivers you can use. Here are a two products that have C# libraries that enable code interaction with an underlying file system driver:

    http://www.eldos.com/cbfs/ <-- Callback File System "Create and manage virtual filesystems and disks from your Windows applications"

    http://dokan-dev.net/en/ <-- the Dokan "user mode file system for windows" ... looks like SpeedyDrive uses this