Есть ли способ записи в файл, когда он используется другим процессом (процесс в кольце 0?) - PullRequest
0 голосов
/ 13 июня 2019

Недавно я пытался записать файл .PAK, когда он используется другим процессом в кольце 0. Это было проблемой в течение долгого времени, и у меня не было большого успеха.Я могу использовать любой язык программирования, необходимый для этого, но C # / VB.net является предпочтительным.Первоначально я хотел использовать систему поиска и замены при редактировании, но вместо этого я просто выберу и смещу для записи и тому подобное.

Нет, я не могу просто завершить процесс, а затем отредактировать;процесс должен быть запущен.Да, я, очевидно, знаю процесс с прикрепленным дескриптором файла.

Нет, я не могу просто запустить от имени администратора, потому что процесс установлен в кольце 0 / ядре.

У меня естьперепробовал несколько методов, включая временную установку скорости процесса на 0 для редактирования, затем возврата и изменения FileShare и других параметров, но ни один из них не увенчался успехом.

Один подход, о котором мне много говорили, и который у меня нет опытав это создает "Драйвер ядра".Я не знаю, как это сделать, и я не могу найти много информации в Интернете, поэтому, если вы считаете, что это лучший способ, пожалуйста, сообщите мне, как начать.Любая помощь приветствуется!

1 Ответ

0 голосов
/ 13 июня 2019

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

...