Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Подпрограмма ZwQueryVirtualMemory определяет состояние, защиту и тип области страниц в виртуальном адресном пространстве процесса темы.
Синтаксис
NTSYSAPI NTSTATUS ZwQueryVirtualMemory(
[in] HANDLE ProcessHandle,
[in, optional] PVOID BaseAddress,
[in] MEMORY_INFORMATION_CLASS MemoryInformationClass,
[out] PVOID MemoryInformation,
[in] SIZE_T MemoryInformationLength,
[out, optional] PSIZE_T ReturnLength
);
Параметры
[in] ProcessHandle
Дескриптор процесса, в контексте которого будут запрашиваться страницы. Используйте макрос ZwCurrentProcess, чтобы указать текущий процесс.
[in, optional] BaseAddress
Базовый адрес области страниц, запрашиваемой. Это значение округляется до следующей границы адреса страницы узла.
[in] MemoryInformationClass
Класс сведений о памяти, о котором требуется получить информацию. В настоящее время единственным поддерживаемым значением MEMORY_INFORMATION_CLASS является MemoryBasicInformation.
[out] MemoryInformation
Указатель на буфер, получающий указанные сведения. Формат и содержимое буфера зависят от указанного класса информации, указанного в параметре MemoryInformationClass. Если значение MemoryBasicInformation передается MemoryInformationClass, значение параметра MemoryInformation является структурой MEMORY_BASIC_INFORMATION.
[in] MemoryInformationLength
Задает длину в байтах буфера сведений о памяти.
[out, optional] ReturnLength
Необязательный указатель, который, если указан, получает количество байтов, помещенных в буфер сведений о памяти.
Возвращаемое значение
Возвращает STATUS_SUCCESS, если вызов выполнен успешно. Если вызов завершается сбоем, возможные коды ошибок включают следующие:
| Возвращаемый код | Описание |
|---|---|
| STATUS_INVALID_PARAMETER | Указанный базовый адрес находится за пределами диапазона доступных адресов. |
| STATUS_ACCESS_DENIED | Вызывающий объект имел недостаточно прав доступа для выполнения запрошенного действия. |
| STATUS_INFO_LENGTH_MISMATCH | Буфер MemoryInformation больше MemoryInformationLength. |
| STATUS_INVALID_INFO_CLASS | Значение, отличное от MemoryBasicInformation, было передано параметру MemoryInformationClass. |
Замечания
ZwQueryVirtualMemory определяет состояние первой страницы в регионе, а затем сканирует последующие записи в карте адресов процесса с базового адреса вверх до тех пор, пока не будет сканирован весь диапазон страниц или до тех пор, пока страница с несоединяющим набором атрибутов не будет обнаружена. Атрибуты региона, длина области страниц с соответствующими атрибутами и соответствующее значение состояния возвращаются.
Если вся область страниц не имеет соответствующего набора атрибутов, то значение параметра returnLength
NtQueryVirtualMemory и ZwQueryVirtualMemory являются двумя версиями одной подпрограммы Windows Native System Services.
Для вызовов драйверов в режиме ядра NtXxx и ZwXxx версии подпрограммы Windows Native System Services могут вести себя по-разному в том, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между NtXxx и ZwXxx версиями подпрограммы см. в разделе Using Nt and Zw Versions of the Native System Services Routines.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Windows 10 |
| целевая платформа | Всеобщий |
| заголовка | ntifs.h |
| библиотеки |
NtosKrnl.lib |
| DLL | NtosKrnl.exe |