Memory SDK

В данной работе рассматриваются средства для работы с памятью, предоставляемые Win32. Основное содержание работы - перевод и адаптация под Delphi раздела SDK, посвященного работе с памятью. В силу значительности объема, весь материал был разбит на следующие части:

  • Виртуальное адресное пространство
  • Адресное расширение оболочки Windows (AWE)
  • Работа с кучей
  • Глобальные и локальные функции
  • Прочие вопросы
  • Важно

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

    При переводе SDK я временами отступал от текста оригинала, стремясь, на мой взгляд, сделать изложение более ясным, а также исправил ряд, как мне показалось, ошибок. При переводе были убраны места, специфичные для компилятора VC++. В случае, когда соответсвующие функции не описаны ни в одном из модулей Delphi 6, соответсвтвующий перевод был дан мною по аналогии с остальными функциями. Тем не менее, если эти функции появятся в следующих версиях Delphi, то возможны несоответсвия. Тем не менее, большей частью я старался соответствовать материалу SDK и выдерживать его стиль. Этим, в частности, вызван и сравнительно большой объем, потому как многие особенности работы дублируются слово в слово в каждой из функций, которые затрагивают эту особенность.

    Используемая теминология старается соответсвовать книге Дж. Рихтера "Windows для профессионалов", 3-е издание. При переводе также повсеместно использовался термин "функция" вне зависимости от того, о процедуре или функции (в смысле Delphi) шла речь. При приведении описания записей, по возможности использовался тип, начинающийся с буквы "T". Например, запись PROCESS_HEAP_ENTRY имеет еще два идентичных варианта написания: _PROCESS_HEAP_ENTRY и TProcessHeapEntry. Пр этом собственно как запись объявлен тип _PROCESS_HEAP_ENTRY, а другие два типа объявлены как совпадающие с этим типом. Тем не менее в описании записи я приводил объявление так, как если бы объявлен как запись был тип TProcessHeapEntry.

    Виртуальное адресное пространствоВперед

    © Mystic, 2002