- allow creating files inside an existing folder of memfs
- removes the temporary directory and files at exit
- produce an executable
squash_samplewhenBUILD_SAMPLEin cmake- let CI discover linking errors earlier about the sample
- intercept
CreateProcessW- unsets
lpCurrentDirectorywhen it was set to__enclose_io_memfs__paths
- unsets
- intercept
SetCurrentDirectoryW,GetCurrentDirectoryW - implement
enclose_io_mkdirfor Windows- intercept
_wmkdir
- intercept
- intercept
CreateFileW()with writing- redirect
CreateFileW()with writing inside the memfs to a temporary directory - removes the temporary directory and files at exit
- redirect
Translations in Chinese:
- 允许在虚拟的内存文件系统中创建文件夹
- 此种请求会被转发到磁盘的临时文件夹,并在退出时删除运行时所创建的文件夹及其内容
- 让 cmake 在
BUILD_SAMPLE的时候生成一个squash_sample可执行文件- 这可以让 CI 今早发现 sample 代码链接阶段的问题
- 劫持
CreateProcessW系统调用- 当第八个参数
lpCurrentDirectory被设定为__enclose_io_memfs__路径时清空这个参数,以防出错
- 当第八个参数
- 劫持
SetCurrentDirectoryW,GetCurrentDirectoryW系统调用 - 为 Windows 实现
enclose_io_mkdir函数- 为 Windows 劫持
_wmkdir系统调用
- 为 Windows 劫持
- 劫持
CreateFileW()系统调用的写的情况- 即允许在虚拟的内存文件系统中写文件,或在虚拟的内存文件系统中创建的文件夹内写文件
- 此种请求会被转发到磁盘的临时文件夹,并在退出时删除运行时所写的文件