Позволяет ли открытие файла с помощью Share-Delete другим пользователям?
Перечисление FileShare предлагает различные флаги, такие как Read, Write, Delete, ... . Обычно я думаю, что совместное использование файла для удаления позволяет только удаление, но не более (например, чтение).
Однако я удаленно вспоминаю, что Windows различает только доступ только для чтения и полный доступ к файлам, поэтому на самом деле совместное использование для удаления также позволяет выполнять запись в файл. К сожалению, это много лет назад, и я не нашел ни первоисточника, ни какой-либо связанной информации. Есть ли надежная спецификация на фактическое поведение? Это зависит от ОС или ФС?
1 ответ
Посмотрите документацию по функции CreateFile.
FILE_SHARE_DELETE: Позволяет последующим операциям открытия файла или устройства запрашивать доступ для удаления. В противном случае другие процессы не могут открыть файл или устройство, если они запрашивают доступ для удаления. Если этот флаг не указан, но файл или устройство были открыты для доступа для удаления, функция завершается ошибкой. Примечание. Доступ к удалению позволяет выполнять операции удаления и переименования.
В документации не упоминается, что доступ для чтения тоже разрешен.