То, что вы просите, не может быть сделано.
Поскольку монопольный доступ предоставляется для каждого дескриптора, а не для процесса, если вы открываете файл с монопольным доступом один раз, каждая последующая попытка открыть его не удастся, даже если он принадлежит одному и тому же процессу.Исключительный доступ означает, что ваш дескриптор является единственным действительным, но не только ваш процесс может получить к нему доступ.
Так что даже если вы заблокируете файл, ваша библиотека не сможет его открыть, поэтому бесполезновы.Единственный способ - заблокировать файл и передать дескриптор вашей библиотеке, чего вы не можете сделать, потому что ваша библиотека хочет получить имя файла.Точно так же вы не можете заблокировать файл, если он открыт библиотекой, потому что он не даст вам управления.Если у вас нет доступа к исходному коду библиотеки, вы застряли.
Возможно, вы можете попробовать что-то с правами пользователя, если ваш процесс запускается из его собственной учетной записи пользователя, и вы меняете владельца файлов, которые собираетесь изменить, а затем возвращаете его обратно, когда вы закончите.