我有一个基本上可以执行此操作的程序
while(1)
FindFirstFile()
if file found
CreateFile()
DeleteFile()
但是,有时CreateFile会报告ERROR_FILE_NOT_FOUND,即使FindFirstFile找到了一个文件! DeleteFile是否保证文件在返回后不会显示在目录列表中?
答案 0 :(得分:3)
您可能会遇到Raymond Chen在his blog中描述的问题。
基本上,DeleteFile()
是“一种”异步 - 如果你要删除的文件上有任何未完成的文件句柄,文件系统只是将文件标记为“要删除”,但它不是实际上从目录列表中消失,直到它的最后一个打开句柄被关闭 - 即使DeleteFile
返回成功。