Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

AllocateUserPhysicalPages выделение страницы физической памяти

Delphi , ОС и Железо , Windows

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

function AllocateUserPhysicalPages(
hProcess: THandle,           // дескриптор процесса
var NumberOfPages: Cardinal, // число страниц
var UserPfnArray: Pointer    // адрес хранилища
): Boolean; stdcall;

Параметры 

hProcess [in]

Дескриптор процесса. Функция выделяет память в виртуальном адресном пространстве этого процесса. Пользователь, запускающий вызывающее приложение, должен иметь привелегию фиксирования страниц памяти (Lock Pages in Memory) для данного процесса. Если это не выполнено, вызов функции завершится неудачно.

NumberOfPages [in/out]

Указывает размер (в страницах) физической памяти, которая будет выделена. Используйте функцию GetSysInfo для того, чтобы определить размер страницы на вашем компьютере. В этом параметре также возвращается число страниц, которые были действительно выделены. Это число может быть меньше запрашиваемого.

UserPfnArray [out]

Задает виртуальный адрес, по которому будут сохранены номера фреймов страниц выделенной памяти. Размер памяти, выделенной по данному указателю, должен по меньшей мере вместить NumberOfPages элементов типа Cardinal.

Важно! Не пытайтесь модифицировать содержимое этого буфера. Он содержит данные, принадлежащие операционной системе, повреждение которых можт повлечь за собой катастрофические последствия. В этом буфере не содержиться никакой информации, необходимой вашему приложению.

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

В случае успешного завершения функция возвращает True. В результате были выделены несколько страниц физической памяти. Это число может быть меньше запрашиваемого, поэтому вы должны всегда проверять значение NumberOfPages для того, чтобы узнать, какое именно количество страниц было выделено. Фреймы всех выделенных страниц последовательно помещаются в память на которую указывает параметр UserPfnArray.

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

Описание

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

Физическая страница памяти не может быть спроецирована по более чем одному виртуальному адресу.

Физическая страница может находиться по любому физическому адресу. Вы не должны делать никаких предположений относительно смежности физических страниц.

Используйте функцию GetSystemInfo для того, чтобы определить размер страницы на вашем компьютере.

Требования 

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

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

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

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

© Mystic, 2002

Статья AllocateUserPhysicalPages выделение страницы физической памяти раздела ОС и Железо Windows может быть полезна для разработчиков на Delphi и FreePascal.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Windows ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100
29.03.2024 12:26:29/0.032778024673462/0