Можно ли записывать в свободные кластеры на диске или считывать данные с них с помощью Windows API?Я обнаружил, что Defrag API: https://docs.microsoft.com/en-gb/windows/desktop/FileIO/defragmenting-files
FSCTL_GET_VOLUME_BITMAP можно использовать для получения состояния выделения каждого кластера, FSCTL_MOVE_FILE можно использовать для перемещения кластеров.Но я не смог найти способ чтения данных из свободных кластеров или записи в них данных.
Обновление: Один из обходных путей, который приходит на ум, - это создание небольшого нового файла, записьнекоторые данные к нему, затем переместить его в нужное место и удалить файл (данные останутся в освобожденном кластере).Но это по-прежнему не решает проблему чтения.
Я пытаюсь сделать что-то вроде прозрачного кэша, поэтому пользователь может по-прежнему использовать свой раздел NTFS как обычно и по-прежнему видеть эти кластеры как свободное пространство, ноЯ мог бы хранить в них некоторые данные.Безопасность данных не имеет значения, она может быть перезаписана действиями пользователя и будет просто восстановлена / перезагружена позже, когда кластеры снова станут свободными.