У меня есть программа, которая создает файлы с атрибутом FILE_FLAG_DELETE_ON_CLOSE. Я вижу редкие случаи на некоторых машинах, когда даже если процесс останавливается, файл остается.
CreateFile(fileName,
GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE,
NULL,
OPEN_ALWAYS,
FILE_FLAG_DELETE_ON_CLOSE,
NULL);
Примечание. Я уверен, что на 100% ни один другой процесс не хранит дескриптор этих файлов. Кроме того, все дескрипторы (OpenFile, CreateFile) создаются с атрибутом FILE_FLAG_DELETE_ON_CLOSE.
Я пытаюсь найти крайние случаи, которые гарантируют, что файл будет удален сразу после закрытия всех его дескрипторов, не работает. (кроме неожиданного выключения ОС) Кто-нибудь знает о других случаях, когда файл можно оставить на диске?