gpt4 book ai didi

windows - 使用命名管道(或其他东西)作为内存文件

转载 作者:可可西里 更新时间:2023-11-01 09:49:40 26 4
gpt4 key购买 nike

我已经浏览了 WinAPI 文档一段时间了,但我似乎无法找到答案。我想要实现的是给程序一个文件名,它可以打开并使用它,就像磁盘上的普通文件一样。但是我希望这个对象在内存中。

我尝试使用命名管道,它们在某些情况下有效,但并非总是如此。我创建了一个命名管道并将其作为常规文件传递给子进程。当进程存在时,我从管道收集数据。

program.exe \\.\pipe\input_pipe

虽然面临一些限制。其中之一是它们不可搜索。第二个限制是它们应该以完全正确的权限打开。我发现的第三个是,在另一端打开之前,您不能将任何数据预先放入双工管道中。有没有办法克服命名管道的这些限制?

或者可能有一些其他类型的对象可以用 CreateFile 打开,然后用 ReadFileWriteFile 访问。到目前为止,我看到的唯一解决方案是创建文件系统驱动程序并自行实现所有功能。

为了清楚起见,我想指出我无法更改正在运行的子程序。主要思想是为该程序提供它认为是普通文件的内容。

更新:我不是在寻找涉及安装任何外部软件的解决方案。

最佳答案

<罢工> Memory-mapped files会让你做你想做的事。

编辑:

关于重新阅读问题 - 由于接收程序已经使用 CreateFile/ReadFile/WriteFile 并且无法修改,因此这将不起作用。除了第三方或自行编写的 RAMDisk 解决方案之外,我想不出一种方法来做 OP 想要做的事情。

关于windows - 使用命名管道(或其他东西)作为内存文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4345416/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com