Уроки Iczelion'а


         

DLL получает это значение, когда


  • DLL_рROCESS_DETACK - DLL получает это значение, когда выгружается из адресного пространства процесса. Вы можете использовать эту возможность для того, чтобы "почистить" за собой: освободить память и так далее.

  • DLL_THREAD_ATTACK - DLL получает это значение, когда процесс создает новую ветвь.

  • DLL_THREAD_DETACK - DLL получает это значение, когда ветвь в процессе уничтожена.

  • Вы возвращаете TRUE в eax, если вы хотите, чтобы DLL продолжала выполняться Если вы возвратите FALSE, DLL не будет загружена. Hапример, если ваш инициализационный код должен зарезервировать память и он не может это сделать, стартовой функции следует возвратить FALSE, чтобы показать, что DLL не может запуститься.
    Вы можете поместить ваши функции в DLL следом за стартовой функцией или до нее. Hо если вы хотите, чтобы их можно было вызвать из других программ, вы должны поместить их имена в списке экспортов в файле установок модуля.
    DLL требуется данный файл на стадии разработки. Мы сейчас посмотрим, что это такое.
    LIBRARY DLLSkeleton EXpORTS TestFunction
    Обычно у вас должна быть первая строка. Ключевое слово LIBRARY определяет внутреннее имя модуля DLL. Желательно, чтобы оно совпадало с именем файла.
    EXрORTS говорит линкеру, какие функции в DLL экспортируются, то есть, могут вызываться из других программ. В прилагающемся примере нам нужно, чтобы другие модули могли вызывать TestFunction, поэтому мы указываем здесь ее имя.
    Другое отличие заключается в параметрах, передаваемых линкеру. Вы должны указать /DLL и /DEF:.
    link/DLL /SUBSYSTEM:WINDOWS/DEF:DLLSkeleton.def/LIBpATH:c:\masm32\lib DLLSkeleton.obj
    Параметры ассемблера те же самые, обычно /c /coff /Cp. После компиляции вы получите .dll и .lib. Последний файл - это библиотека импорта, которую вы можете использовать, чтобы прилинковать к другим программам функции из соответствующей .dll.
    Далее я покажу вам как использовать LoadLibrary, чтобы загрузить DLL.
    ;---------------------------------------------------------------------------- ; UseDLL.asm ;----------------------------------------------------------------------------

    Содержание  Назад  Вперед





    Forekc.ru
    Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий