Функция MmPrefetchPages (ntifs.h)
Подпрограмма MmPrefetchPages оптимально считывает группы страниц из дополнительного хранилища.
Синтаксис
NTSTATUS MmPrefetchPages(
[in] ULONG NumberOfLists,
[in] PREAD_LIST *ReadLists
);
Параметры
[in] NumberOfLists
Количество списков чтения в массиве, переданных в параметре ReadLists .
[in] ReadLists
Указатель на массив списков чтения для предварительной выборки.
Возвращаемое значение
MmPrefetchPages возвращает STATUS_SUCCESS или соответствующее состояние ошибки, представляющее окончательное состояние завершения операции. Возможные коды состояния ошибок:
Код возврата | Описание |
---|---|
STATUS_INSUFFICIENT_RESOURCES | Не удалось выделить временный буфер, необходимый для этой функции. |
STATUS_INVALID_PARAMETER_1 | Раздел в ReadLists недоступен для предварительной выборки (например, физический раздел или раздел на основе файла подкачки) или было предоставлено недопустимое значение NumberOfLists . |
MmPrefetchPages возвращает STATUS_SUCCESS при успешном выполнении, а также если все запрошенные страницы уже находились в памяти, что означает, что операции чтения из дополнительного хранилища не требуются.
Комментарии
MmPrefetchPages считывает страницы из дополнительного хранилища, описанного в списках чтения, оптимальным образом. Вызывающий объект создает список различных файловых объектов и смещения логических блоков, передавая их в функцию MmPrefetchPages , которая проверяет внутренние страницы, считывая те, которые еще не являются допустимыми или переходными. Страницы читаются с одним чтением, используя фиктивную страницу для преодоления небольших пробелов. Если разрыв "большой", выдаются отдельные операции чтения.
Примечание
Объект section уже должен существовать для предварительной выборки файла. Дескриптор раздела можно получить, вызвав ZwCreateSection.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows XP |
Целевая платформа | Универсальное |
Верхняя часть | ntifs.h (включая Ntifs.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |