Функция VirtualQueryEx возвращает информацию о диапазоне страниц виртуального адресного пространства указанного процесса.
function VirtualQuery( hProcess: THandle; //дескриптор процесса lpAddress: Pointer; //адрес начала региона памяти var lpBuffer: TMemoryBasicInformation; //буфер для получения информации dwLength: DWORD //размер буфера ): DWORD; stdcall;
Параметры
hProcess [in]
Дескриптор процесса, информация о состоянии адресного простанства которого
запрашивается. Дескриптор должен быть открыт с указанием прав доступа
PROCESS_QUERY_INFORMATION, который позволяет по указанному дескрипору получать
нфрмацию о процессе.
lpAddress [in]
Указывает на начальный базовый адрес региона, информация о котором
запрашивается. Это значение округляется вниз до границы страницы. Для того,
чтобы определить значения размера страницы на данном компьютере, необходимо
произвести вызов функции GetSystemInfo.
lpBuffer [in]
Ссылка на структуру TMemoryBasicInformation, в которую запишется информация об
указанном диапазоне памяти.
dwLength [in]
Размер в байтах структуры данных, ссылка на которую передается в параметре
lpBuffer.
Возвращаемое значение
Количество байт, которые были записаны в буфер.
Описание
Функция VirtualQuery возвращает информацию о блоке, состоящем из смежных страниц, начинающемся по указанному начальному адресу, при этом вы можете получить информацию о следующих атрибутах страницы:
Данная функция определяет атрибуты первой страницы из указанного диапазона, а затем последовательно сканирует страницы в памяти до тех пор, пока не найдет страницу в памяти с отличными атрибутами. Возвращаемым значением функции является количество байт памяти, дкоторые имеют те же атрибуты, что и первая рассматриваемая страница. Пусть, например, в памяти расположен свободный фрагмент размером 40 Мб, и функция VirtualQuery была вызвана для ареса со смещением в 10 Мб от начала описанного фрагмента. Тогда функция определит состояние страниц как MEM_FREE, и вернет размер 30 Мб.
Требования
Windows NT/2000: Требуется Windows NT 3.1 или более поздняя версия
Windows 95/98: Требуется Windows 95 или более поздняя версия
Бибиотека: Kernel32.dll
Подключаемый модуль: Windows
Смотри также:
![]() |
VirtualUnlock![]() |
© Mystic, 2002