Sources
Delphi Russian Knowledge Base
DRKB - база знаний по Дельфи в рунете, составленная Виталием Невзоровым

FreeUserPhysicalPages

12.12.2002
Mystic (mystic2000@newmail.ru)

Функция FreeUserPhysicalPages освобождает физические страницы памяти, которые были ранее выделены при помощи вызова {AllocateUserPhysicalPages}. Если текущие страницы были спроецированы в AWE-регион, то при вызове автоматически произойдет очишение проецирования. Заметим, что указанный вызов никак не затронет виртуальное адресное пространство, занимающее AWE-регион.

function FreeUserPhysicalPages(
  hProcess: THandle, // дескриптор процесса
  var NumberOfPages: Cardinal, // количество страниц для освобождения
  var UserPfnArray: DWORD // виртуальный адрес фреймов освобождаемых страниц
): Boolean; stdcall;

Параметры

hProcess [in]
Дескриптор процесса. Функция освобождает память в виртуальном адресном пространстве этого процесса.
NumberOfPages [in/out]
Указывает размер физической памяти в страницах, которая будет освобождена. При возвращении с случае ошибки возвращает количество страниц в памяти, которые действительно были освобождены.
UserPfnArray [in]
Задает виртуальное адресное пространство, которое содержит фреймы страниц, которые должны быть освобождены.

Возвращаемое значение

При удачном завершении функция возвращает True.

В случае возникновения ошибки функция вернет False. В этом случае параметр NumberOfPages показывает, сколько страниц было освобождено в действительности. Для получения расширенной информации об ошибке выполните вызов GetLastError.

Описание

В случае нескольких процессоров эта функция поддерживает согласованное выполнение на уровне аппаратного переводного буфера. При выходе из этой функции, для всех потоков и процессов гарантируется корректное проецирование.

Требования

Previous page:
Описание работы с AWE
Top:
DRKB
Next page:
MapUserPhysicalPages