问题标签 [dokan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
768 浏览

windows - 通过 Dokan 在挂载的 encfs 驱动器中使用 Git

我想将 Git 用于一个软件项目,该项目位于通过Dokan(Windows 环境)安装的 encfs 加密驱动器内。文件的加密工作得很好,不幸的是 Git 似乎不喜欢在这种环境中工作。初始化 Git 存储库时,我遇到错误消息:

错误:无法提交配置文件 w:/djangodance/.git/config

提交时我遇到这个 - 磁盘是可写的并且没有超过配额:

致命:存储库已更新,但无法写入 new_index 文件。检查磁盘未满或未超过配额...

到目前为止,我了解到 Git 似乎不喜欢某些驱动器安装设置。这篇文章(通过 sshfs 挂载远程文件系统)提出了一个解决方法选项 ( -oworkaround=rename)。

我的问题:

  1. 我是否正确定位了问题的根源?
  2. Dokan 是否有一些类似的设置可以与 Git 一起使用?
  3. 是否有不同的方法可以满足使用 Windows 的动态加密?我宁愿不使用 TrueCrypt,因为它与 Dropbox 结合起来没有那么有用。

谢谢你的任何提示!

0 投票
2 回答
246 浏览

filesystems - Dokan cAlternateFileName 似乎不起作用

我正在为 Windows 7 编写文件系统驱动程序。我正在使用 Dokan 库。在 FindFiles 函数中,我想设置 8.3 备用名称。我假设如果我使用 dir /x 会显示,但它不会。我尝试传递一个空终止字符串,然后更改为空白填充(非空终止)字符串,如下所示。两者都没有显示替代名称 dir /x。

请参阅http://msdn.microsoft.com/en-us/library/windows/desktop/aa365740%28v=vs.85%29.aspx以获取结构 _WIN32_FIND_DATA 中对 cAlternateFileName 的引用。

有人有这方面的信息吗?

这是我的代码中的剪辑:

0 投票
3 回答
7220 浏览

php - 将自定义字段添加到 Dokan 上的现有表单(wordpress/woocoomerce)

我正在尝试在 Dokan(woocommerce 插件 - http://demo.wedevs.com/dokan/)卖家设置上添加自定义字段,以编辑来自 woocommerce 用户地址的值。Dokan 在前端有一个表格供卖家编辑他的商店设置。我用以下代码更改了我的主题functions.php:

表单显示正常,但它只是不更新​​用户元数据。我无法做到的另一件事是在表单输入字段上显示当前值。

我认为这对于一个好的程序员来说很容易。谁能帮我吗?非常感谢。

0 投票
1 回答
615 浏览

c# - 有谁知道 Dokan 虚拟文件系统驱动程序是否支持文件/文件夹权限?

我希望在使用 Dokan 驱动程序创建的虚拟文件系统中实现只读文件夹。有谁知道设置自定义文件夹权限是否可行?

0 投票
1 回答
1188 浏览

c# - 需要帮助dokan和c#创建虚拟磁盘

我想使用 c# 和 dokan 创建虚拟磁盘,我需要代码提示或 api 或者我想知道如何使用它们,因为当我在谷歌上搜索时,我没有找到并得到结果

0 投票
1 回答
855 浏览

windows - VLC 不使用 Dokan 播放视频

我正在使用Dokan 的dokany版本,在系统上安装磁盘。

我已经设法为操作系统实现了所有必要的回调,以便能够使用 dokan 磁盘的文件和文件夹。

每当我尝试使用 Media Player Classic 播放 dokan 磁盘中的视频文件时,一切正常。当我尝试使用 VLC 播放它时,我收到以下错误:

更新:

当我阅读 VLC 的调试数据时,我收到以下消息:

请帮我解决这个问题。我没有想法:\

更新:

有时,会弹出此错误:

0 投票
0 回答
151 浏览

c# - 编写自己的文件系统时的性能问题

我正在使用 Dokan 编写文件系统。我想要实现的是允许用户访问多个源上的文件,就好像它们都在本地文件夹中一样。即文件可以在本地、远程位置或内存中使用。

最初,我创建了描述实际文件可用位置的占位符(例如 win8.1 OneDrive)。当用户访问文件时,我首先读取占位符。知道该文件的真实位置后,我读取了真实文件并将数据发送回用户应用程序。

经过大约一个小时的编码,我发现这个想法严重错误。如果文件的真实位置在 Internet 上,这将起作用。但是如果该文件在本地可用,我实际上需要请求我的硬盘驱动器来查找两个文件(占位符和真实文件)。此外,如果文件在内存中可用(用户这样做是为了提高性能),我仍然需要访问硬盘驱动器,这使得将文件缓存到 RAM 中毫无意义。

所以...我想我必须编写自己的文件表,例如 NTFS MFT。好吧,文件表的概念很简单。但是我不确定我是否可以编写一个像 NTFS 一样高效的。然后我开始考虑数据库。但我也不确定这是否是个好主意......

我应该怎么办?

谢谢!

PS。我只有非常基本的文件系统知识。

0 投票
0 回答
350 浏览

c# - 为远程文件系统包装器实现读/写字节缓冲区的最佳方法是什么

我正在尝试使用 Dokan(用户模式文件系统帮助程序库)围绕最近推出的新 OneDrive API 创建文件系统的想法。我意识到有现有的工具可以做到这一点,但我想尝试围绕来自服务的只读媒体流制作一个优化版本,以便与 Plex 一起使用。

如果用于访问 OneDrive API 的 Internet 连接是可变的并且我还想下载块并行处理来自 OneDrive 的数据,以最大限度地提高连接带宽。

所有这一切意味着当 Dokan 从驻留在 OneDrive 上的文件中请求字节时,它实际上会从这个缓冲区中读取,而我同时写入它,可能来自并行段的数据中的间隙没有按顺序完成,我不确定这样做最有效的方法是什么!

我认为最简单的方法是分配一个大字节数组,开始填充它,然后当 Dokan 从它读取数据时,对新数组执行 Buffer.BlockCopy,基本上丢弃读取的数据并在最后允许下载和填充更多数据。然后,此过程将尝试将缓冲区保持在其最大大小,因为整个文件流过,向消费者显示它是本地文件。

像这样连续 BlockCopying 一个大字节数组会是一种糟糕的方法吗?是否有一种既定的模式可以在 .NET 中更轻松地实现这样的事情?我已经研究了几个小时,但找不到任何试图做同样事情的例子,即使我认为这很常见!

您能想到的任何建议或示例将非常感激,谢谢!

0 投票
1 回答
98 浏览

thumbnails - 提供来自不同文件的文件缩略图

我一直在尝试分别保存文件的缩略图,这样当操作系统调用 ReadFile() 加载缩略图时,它将从附加文件而不是原始文件中加载。

我的问题是这是否可能。我可以识别操作系统何时请求缩略图(在它发出的所有 ReadFile() 调用之间,具有不同的偏移量和缓冲区大小)并从不同的文件中传递它吗?

另外,我可以禁用缩略图请求并以不同的方式提供它吗?我想减少操作系统对文件进行的 ReadFile() 调用次数,并且在我实际打开文件时只接收 ReadFile() 请求。

谢谢!

0 投票
1 回答
1552 浏览

wordpress - 当卖家列出产品时,产品状态变为在线而不是待审核

我正在使用 dokan 插件和 dokan 主题让第三方卖家在主站点上列出他们的产品。但问题是当卖家使用他的 dokan 仪表板添加产品时,产品将直接发布(在线)。它应该进入待审核而不是在线审核。当卖家添加新产品时,我必须更改哪些功能才能像以前一样完成这项工作,即产品状态应该是待审核而不是在线。