Нет. Дескриптор получается при открытии файла и становится недействительным после его закрытия. Просто держите файл открытым.
ОС хранит карту дескрипторов - на самом деле, просто целочисленных идентификаторов - для любого выделенного ресурса. Когда вы освобождаете (или, в этом случае, закрываете) ресурс, эта запись карты удаляется, а все полученные блокировки освобождаются. Любые дальнейшие вызовы с этим дескриптором начнутся с поиска карты для дескриптора, который был удален, поэтому ...
Не будет работать. Либо заново откройте файл, либо найдите способ сохранить его открытым, если это необходимо. Правда, я презираю реализации, которые блокируют файлы. Подавляющее большинство приложений, которые делают это, на самом деле не должны, и это просто вызывает проблемы. Откройте файл, загрузите данные, закройте файл, измените данные и при необходимости сохраните их. Существует очень и очень мало веских причин сохранять файл открытым дольше, чем один вызов функции.