Функция MmProbeAndLockSelectedPages (wdm.h)
Подпрограмма MmProbeAndLockSelectedPages проверяет выбранные страницы виртуальной памяти, делает их резидентными и блокирует их в памяти.
Синтаксис
void MmProbeAndLockSelectedPages(
[in, out] PMDL MemoryDescriptorList,
[in] PFILE_SEGMENT_ELEMENT SegmentArray,
[in] KPROCESSOR_MODE AccessMode,
[in] LOCK_OPERATION Operation
);
Параметры
[in, out] MemoryDescriptorList
Указатель на список дескрипторов памяти (MDL), указывающий буфер виртуальной памяти. Если подпрограмма успешно блокирует страницы в памяти, MDL обновляется для описания базовых физических страниц.
[in] SegmentArray
Указатель на массив сегментов буфера, содержащих страницы виртуальной памяти.
[in] AccessMode
Указывает режим доступа, в котором выполняется проверка аргументов, либо KernelMode, либо UserMode.
[in] Operation
Указывает тип операции, для которой вызывающий объект хочет проверить права доступа и заблокировать страницы. Задайте для этого параметра значение IoReadAccess, IoWriteAccess или IoModifyAccess. IoReadAccess указывает, что драйвер может проверять содержимое буфера, но не может изменять содержимое. IoWriteAccess и IoModifyAccess, которые являются эквивалентными, указывают на то, что драйвер имеет доступ как на чтение, так и на запись к буферу.
Возвращаемое значение
None
Remarks
Вызовы MmProbeAndLockSelectedPages должны быть заключены в блок try/except . Если страницы не поддерживают указанную операцию, подпрограмма вызывает STATUS_ACCESS_VIOLATION или другие исключения. Дополнительные сведения см. в разделе Обработка исключений.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно начиная с Windows 2000. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h |
IRQL | <= APC_LEVEL |