Очевидно, мне никогда не приходилось удалять каталог с помощью win32 sdk, потому что это, очевидно, невыполнимая задача. Я пробовал все и вся - RemoveDirectory,
SHFileOperation с FO_DELETE и т. Д.
В настоящее время я вызываю CreateDirectory в одном потоке, запускаю другой поток, копирую некоторые файлы в этот каталог в новом потоке, затем удаляю все файлы в каталоге в новом потоке, а затем возвращаюсь в исходный поток, создавший каталог попробуйте удалить теперь пустой каталог, и это не удается. Директория действительно пуста, когда я пытаюсь ее удалить, но это не имеет значения. Я думаю, что весь аспект потока не имеет значения, потому что в какой-то момент все было в одном потоке, и это не сработало. В настоящее время я устанавливаю структуру SecurityAttributes в CreateDirectory для предоставления доступа всем, но это не имеет значения. RemoveDirectory в прошлом возвратил '32' на GetLastError, что я считаю нарушением общего доступа.
Но даже если я просто пытаюсь удалить пустой каталог из командной строки, он отказывается сказать: «Процесс не может получить доступ к файлу, потому что он используется другим процессом».
пока я не закрою все приложение, которое создало каталог. (Примечание: каталог создается в GetTempPath.)