Как отобразить файл в оперативной памяти по смещению и размеру в Windows

У меня есть программа C ++ для поиска файлов на жестком диске. Таким образом, программа начинает чтение с начала раздела, и всякий раз, когда она видит действительную подпись, она читает ее и находит размер файла в соответствии с типом файла.

Затем он сохраняет начальный размер и смещение файла в базе данных.
Теперь я хочу передать файлы некоторым анализаторам после завершения этого процесса!

Сейчас я делаю восстановление файлов на жесткий диск, а затем передаю их адреса анализатору. Но это слишком долго.

Я хочу загрузить эти файлы в ОЗУ с помощью виртуальной файловой системы, чтобы получить смещение адреса файла и размер файла, а затем дать виртуальный адрес, чтобы анализаторы могли прочитать эти файлы fopen() и это становится быстрее, но я не хочу писать файлы на раздел.

Фактически файлы существовали в разделе, но не в таблице файловой системы.

Есть ли решение для этого пути?

-1

Решение

Есть простой трюк, который вы должны знать. Вызов CreateFile как вы знаете, но пройти FILE_ATTRIBUTE_TEMPORARY, Это сильный совет для Windows, чтобы сохранить файл в оперативной памяти, так как вы намерены удалить его сразу после использования.

Вы также можете пройти FILE_FLAG_DELETE_ON_CLOSE сделать вещи проще для себя.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]