我有一个关于c# &Windows API:
我的任务是从文档管理系统(DMS)加载一个文件,并从这个文件创建一个字节数组。从DMS的开发人员那里,我得到了一个提供如下方法的dll:
loadFile(int DocId, string PathToSaveFile);
不幸的是,给定的dll没有为我提供一种方法来交付所请求的文件作为字节数组或任何类型的流。现在我的问题是,是否有可能用c#创建某种实际上不存在于二级存储上的虚拟路径?相反,写入此路径的所有位和字节都以流的形式转发给我?我的目的是提高性能,因为我不需要向硬盘驱动器写入数据。
我已经搜索了很多,但实际上不知道我要找的关键词。也许有人能给我一个提示,或者直接告诉我这根本不可能。
这在一定程度上取决于库如何打开文件并读取文件。如果它使用CreateFile,那么就有可能通过命名管道提供访问。命名管道的路径可以使用\.pipePipeNameHere
指定。在c#中,你可以使用NamedPipeServerStream。
然而,我认为客户端应用程序与此兼容的可能性相对较小,并且建议创建一个更容易实现且更有可能工作的RAM驱动器。RAM驱动器将显示为普通磁盘驱动器。您可以保存和加载文件到它,但这一切都是在内存中完成的。