public string AddResource(string rootDirectoryName, IFileSystemResourceAccessor resourceAccessor) { lock (_syncObj) { if (_dokanExecutor == null) { return(null); } VirtualRootDirectory rootDirectory = _dokanExecutor.GetRootDirectory(rootDirectoryName); if (rootDirectory == null) { return(null); } string resourceName = resourceAccessor.ResourceName; rootDirectory.AddResource(resourceName, !resourceAccessor.IsFile ? (VirtualFileSystemResource) new VirtualDirectory(resourceName, resourceAccessor) : new VirtualFile(resourceName, resourceAccessor)); string mountPoint = _dokanExecutor.MountPoint; return(Path.Combine(mountPoint, rootDirectoryName + "\\" + resourceName)); } }
public string AddResource(string rootDirectoryName, IResourceAccessor resourceAccessor) { lock (_syncObj) { if (_dokanExecutor == null) { return(null); } VirtualRootDirectory rootDirectory = _dokanExecutor.GetRootDirectory(rootDirectoryName); if (rootDirectory == null) { return(null); } string resourceName = resourceAccessor.ResourceName; IFileSystemResourceAccessor fsra = resourceAccessor as IFileSystemResourceAccessor; rootDirectory.AddResource(resourceName, fsra != null && fsra.IsDirectory ? (VirtualFileSystemResource) new VirtualDirectory(resourceName, fsra) : new VirtualFile(resourceName, resourceAccessor)); char driveLetter = _dokanExecutor.DriveLetter; return(Path.Combine(driveLetter + ":\\", rootDirectoryName + "\\" + resourceName)); } }