是否可以在Windows中打开匿名文件?

时间:2015-08-24 08:11:02

标签: c windows file winapi

我想打开一个匿名文件,这是在linux下打开文件取消链接或使用memfd_create的结果,但这些似乎都不在Windows下可用(你可以使删除文件工作,但它的名称似乎不会被删除,直到文件关闭)。获取没有文件系统中可见内容支持的文件描述符。

有没有办法在Windows下实现这一目标?我希望它永远不会出现在文件系统中。

我想要这个的原因是因为我需要将FILE*作为参数发送到期望的函数(并且我不希望它破坏文件系统)。更改库看起来不是一个可行的选项(除了库也必须在其他操作系统上工作 - 所以他们无论如何都不能依赖于特定于窗口的抽象)。

1 个答案:

答案 0 :(得分:1)

Windows中最合理地接近memfd_create的是内存映射文件。有关它的MSDN文章:http://go.microsoft.com/fwlink/?linkid=180801

但基本上,CreateFileMapping / OpenFileMapping API调用。

这不使用物理磁盘(除非它需要在磁盘上分页的内存),但据我所知,memfd_create