указание пути к dll

Тема в разделе "WASM.WIN32", создана пользователем Llirik, 6 апр 2009.

  1. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Здравствуйте, у меня есть 2 DLL с одинаковыми именами, одна в Windows\system, а вторая в другой папке. моему vxd необходимы функции второй dll. Как это сделать?
     
  2. deLight

    deLight New Member

    Публикаций:
    0
    Регистрация:
    26 май 2008
    Сообщения:
    879
    указать явно путь при загрузке?
     
  3. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    да. откуда импортировать импортировать функции
     
  4. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    из вдд. или дши
     
  5. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    допустим, мне требуется создать окно MessageBox, а user.dll в c:\wasm. где мне указать этот путь?
     
  6. max7C4

    max7C4 New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2008
    Сообщения:
    1.203
    c:\wasm\user.dll укажи там где импортируешь функцию. подробнее - код в студию.
     
  7. Partner

    Partner Павел

    Публикаций:
    0
    Регистрация:
    28 фев 2008
    Сообщения:
    917
    Адрес:
    Los Angeles
    Llirik
    LoadLibrary(c:\wasm\user.dll)
     
  8. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    так?)

    VxD_PAGEABLE_CODE_SEG
    BeginProc kenumb
    call \SystemRoot\System32\ntoskrnl.exe!KeNumberProcessor
    EndProc kenumb

    VxD_PAGEABLE_CODE_ENDS
     
  9. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    LoadLibrary(путь к твоей длл)->GetProcAddress(имя нужной ф-ции)->call eax
    Не могу понять что тебе еще надо, уже выше все написали..
     
  10. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    спасибо, конечно, но я думал, можно как-нибудь путь в секции импорта прописать, чтоб не использовать GetProcAddress по сто раз)
     
  11. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    Ну может быть можно в Import Descriptor Table -> Name RVA прописать полный путь к длл-ке, попробуй вручную :)
     
  12. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Спасибо за идейку) но я не ожидано столкнулся с другой проблемой. Линкер отказывается собирать вот такой код:

    .386p
    .model flat, stdcall
    includelib C:\WINDDK\2600.1106\lib\wxp\i386\ntoskrnl.lib
    include C:\WINDDK\2600.1106\inc\ddk\wxp\stdcall.inc

    .code
    call KeNumberProcessor
    end

    пишет: error LNK2001: unresolved external symbol : KeNumberProcessor
    подскажите пожалуйста в чем тут дело
     
  13. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    KeNumberProcessors ?
     
  14. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    прошу прощения за не внимательность) но все равно та же ошибка пишет: error LNK2001: unresolved external symbol : KeNumberProcessors
     
  15. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    это не функция.
     
  16. Nouzui

    Nouzui New Member

    Публикаций:
    0
    Регистрация:
    17 ноя 2006
    Сообщения:
    856
    Llirik
    по исходной теме - кладешь рядом со своим exe пустой файл вида <имя твоего exe>.exe.local, dllки будут сначала грузиться из каталога с прогой, потом уже из других путей
    возможно, что 2k+, не помню точно..
     
  17. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    а что это по Вашему тогда?)) ее импортирует update.sys
     
  18. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    Открою страшную тайну - эспортировать можно не только функции, но и переменные. KeNumberProcessors - переменная. И вот это: call KeNumberProcessor выглядит очень странно ^^
     
  19. Llirik

    Llirik Member

    Публикаций:
    0
    Регистрация:
    18 июл 2008
    Сообщения:
    471
    Благодарю за то, что научили меня уму разуму) но KeRevertToUserAffinityThread это точно функция, а ml пишет то же самое
     
  20. TSS

    TSS New Member

    Публикаций:
    0
    Регистрация:
    13 апр 2009
    Сообщения:
    494
    Ну так объяви как extern её, блин, такие вопросы даже для Beginners стыдно задавать.