fbr*_*eto 2 winapi file-permissions
我有一个应用程序,我试图通过以下方式实现"安全文件覆盖":
A
)A
数据A
到最终目的地(B
)SHFileOperation
A
使用DeleteFile
但是,在步骤4中,DeleteFile
始终返回ERROR_SHARING_VIOLATION.整个过程需要几毫秒,所以我无法想象还有谁会干扰我的文件.几个问题:
A
?欢迎任何其他建议
我最好的猜测是你需要一个步骤2.5)关闭1)中创建的文件句柄
你用什么来创建/打开文件?
如果您使用CreateFile,请确保在调用delete之前关闭文件句柄,否则请确保指定共享标志FILE_SHARE_DELETE
.
HANDLE hFile = CreateFile("C:\\test.txt", GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, NULL, CREATE_ALWAYS, 0, NULL);
Run Code Online (Sandbox Code Playgroud)
您可能还希望使用Win32 API CopyFile简化文件代码的复制.