Вопрос

В UNIX я могу, например, сообщить ОС, что отображение потребуется в будущем с помощью posix_fadvise(POSIX_FADV_WILLNEED).Затем он будет считывать данные, если так считает.

Как определить намерение доступа к Windows?

Это было полезно?

Решение

На самом деле, как в основном предположил Андерс, такого метода нет в функциях управления памятью, доступных в Windows 7 и более ранних версиях.

Существует два разных способа сделать что-то подобное:

  • Прочитайте данные асинхронно с помощью ReadFileEx.Тогда данные могут по-прежнему находиться в файловом кеше, когда они понадобятся позже.
  • Откройте файл с подсказкой потоковой передачи с помощью FILE_FLAG_SEQUENTIAL_SCAN атрибут Создать файл.Тогда упреждающее чтение, возможно, будет выполняться автоматически.

Другие советы

Начиная с Windows 8, есть PrefetchVirtualMemory для этой цели.

Вы можете передать FILE_FLAG_RANDOM_ACCESS или FILE_FLAG_SEQUENTIAL_SCAN в CreateFile ()

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top