Windows 2003의 내 응용 프로그램 (VB6 및 C# 2008)에서 두 번 파일을 포함하는 폴더를 삭제하는 것과 비슷한 동작이 발생했습니다. 내 코드는 임시 폴더를 만들고 이후 처리를 위해 해당 폴더에 파일을 생성합니다. 처리가 완료되면 내 코드에서 생성 된 임시 폴더를 삭제하려고 시도합니다. 삭제 작업은 오류없이 완료됩니다.NTFS에서 대기열을 삭제 하시겠습니까?
그러나 추가 검사를 통해 폴더가 Windows 탐색기에 여전히 있음을 알 수 있습니다. 이 폴더를 탐색하려고 시도하면 권한 거부 오류가 발생합니다. 나중에 응용 프로그램에서 다른 라운드 파일을 처리하고 임시 폴더를 다시 만들려고합니다. 불행하게도 이전 보류중인 삭제가 완료되지 않았으므로 폴더를 다시 만들려고하면 권한이 거부되었습니다. 내 응용 프로그램을 닫을 때까지 폴더가 실제로 삭제되지 않습니다. 앱이 종료 되 자마자 폴더가 삭제됩니다. 앱을 닫을 때까지 내 폴더 삭제 작업이 커밋되지 않는 이유는 무엇입니까?
추가 질문이 1 개 있습니다. 적극적으로 잠긴 파일이있는 폴더를 삭제해서는 안되며 삭제 작업을 대기열에 두는 대신 예외가 발생합니까? –
예. http://stackoverflow.com/questions/3764072/c-win32-how-to-wait-for-a-pending-delete-to-complete – Henrik