Что ж, правда в том, что вы можете использовать AWE из 32-битного приложения, работающего в 64-битной ОС Windows, и вам не нужен PAE.Например, MS SQL Server (до версии 2012) может быть настроен в этом режиме.
Но если у вас нет очень специфических требований, вероятно, гораздо лучший вариант для портирования на 64 бита.
Выесть несколько недостатков:
- Необходимо запустить с пользователем с
SeLockMemoryPrivilege
- Память не может быть разделена с другим процессом.Выделяется в физической памяти.Оставляя меньше памяти для ОС и других приложений (с
AllocateUserPhysicalPages
). - Вам необходим виртуальный адрес для доступа к такой памяти.Таким образом, вы можете иметь окна памяти 4 ГБ с флагом
LARGE_ADDRESS_AWARE
. - Если вы хотите получить доступ к большему количеству 4 ГБ, вам необходимо отобразить / отменить отображение этих физических страниц (с
MapUserPhysicalPages
).
Эта статья от 1999 года объясняет, как использовать такой API.