7

我有一个关于 C# 和 Windows API 的一般性问题:

我的任务是从文档管理系统 (DMS) 加载文件并从该文件创建一个字节数组。从 DMS 的开发人员那里,我得到了一个 dll,它提供了这样的方法:

loadFile(int DocId, string PathToSaveFile);

不幸的是,给定的 dll 没有为我提供将请求的文件作为字节数组或任何类型的流传递的方法。现在我的问题是,是否可以使用 C# 创建某种虚拟路径,而该虚拟路径实际上并不存在于辅助存储中。相反,写入此路径的所有位和字节都以流的形式转发给我?我的目的是提高性能,因为我不必将数据写入硬盘驱动器。

我已经搜索了很多,但实际上不知道我要查找的关键字。也许有人可以给我一个提示,或者只是告诉我这根本不可能。

4

1 回答 1

2

这将在一定程度上取决于库将如何打开文件和读取文件。如果它使用CreateFile,那么您有可能通过命名管道提供访问权限。可以使用 指定命名管道的路径\\.\pipe\PipeNameHere。在 C# 中,您可以使用NamedPipeServerStream

但是,我认为客户端应用程序与此兼容的可能性相对较小,并且建议创建一个更易于实现且更有可能工作的RAM 驱动器。RAM 驱动器将显示为普通磁盘驱动器。您可以将文件保存和加载到其中,但这一切都在内存中完成。

于 2013-04-17T08:14:40.107 回答