C++ 如何复制文件并继承Windows EFS?

C++ 如何复制文件并继承Windows EFS?,c++,c,windows,permissions,efs,C++,C,Windows,Permissions,Efs,我有一个程序,我在%USERPROFILE%\AppData\Local\temp中创建了一个临时文件,然后调用rename.c的_wrename()函数将该文件有效地移动到一个用Windows的EFS加密的目录中。问题是此文件不继承该目录的加密设置。有没有办法克服这个问题(顺便说一句,我不想加密临时文件夹)?我相信您希望使用Win32函数而不是C函数。我不确定MoveFileEx是否能满足您的要求CopyFileEx可用于执行此操作,然后可以删除原始文件CopyFileEx甚至有一些标志,如果

我有一个程序,我在%USERPROFILE%\AppData\Local\temp中创建了一个临时文件,然后调用rename.c的_wrename()函数将该文件有效地移动到一个用Windows的EFS加密的目录中。问题是此文件不继承该目录的加密设置。有没有办法克服这个问题(顺便说一句,我不想加密临时文件夹)?

我相信您希望使用Win32函数而不是C函数。我不确定
MoveFileEx
是否能满足您的要求
CopyFileEx
可用于执行此操作,然后可以删除原始文件
CopyFileEx
甚至有一些标志,如果目的地无法进行加密,这些标志允许它失败/不成功。

谢谢!这是一个很好的、简单的解决方案——CopyFileEx(或CopyFile)是一个不错的选择。(FWIW,MoveFileEx没有完成任务。)@sorrell非常好,很高兴它能帮上忙。