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

FreeUserPhysicalPages

01.01.2007

Функция 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.

Описание

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

Требования

Windows NT/2000: Требуется Windows NT 2000 или более поздняя версия

Windows 95/98: Не поддерживается

Бибиотека: Kernel32.dll

Подключаемый модуль: Не описана

© Mystic, 2002