(F)ASM, url-download-to-file не работает из dll.

Тема в разделе "WASM.BEGINNERS", создана пользователем spamy, 28 окт 2010.

  1. spamy

    spamy New Member

    Публикаций:
    0
    Регистрация:
    28 окт 2010
    Сообщения:
    2
    То ли я такой тупой.. как екзешник - отлично запускается, а если собирать как библиотеку - вышеуказанная ф-ция не возвращает управление.

    format PE GUI 4.0 DLL или format PE GUI 4.0
    include "win32a.inc"
    entry DllEntryPoint
    section '.text' code executable
    proc DllEntryPoint hinstDLL,fdwReason,lpvReserved
    pushad
    invoke URLDownloadToFile,0,fr,tr,0,0
    popad
    ret
    fr db "http://wasm.ru/pic/header.gif",0
    tr db "C:\h.gif",0
    endp
    section ".idata" import data readable writeable
    library urlmon,'urlmon.dll'
    import urlmon,\
    URLDownloadToFile,'URLDownloadToFileA'
    section ".reloc" fixups data discardable
     
  2. Rustem

    Rustem New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    429
    Адрес:
    Russia
    из DllEntryPoint URLDownloadToFile не будет работать
     
  3. spamy

    spamy New Member

    Публикаций:
    0
    Регистрация:
    28 окт 2010
    Сообщения:
    2
    Здесь второй вопрос - какие есть для этого причины?
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    ну если эта фукнция создает хоть один поток, то причины очевидны - пока длл не вернет управление из дллмейн с единичкой в еах, ни один вновь созданный поток не начнет свое исполнение
     
  5. ziral2088

    ziral2088 New Member

    Публикаций:
    0
    Регистрация:
    16 авг 2009
    Сообщения:
    283
    MSoft
    у меня есть код, писался давно, вот там в DLL_PROCESS_ATTACH стоит CreateThread и все работает. Правда я возвращаю FALSE из DllMain - может быть дело в этом?
     
  6. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    тред может и создается, но он не запускается, пока не вернешь управление из длл мейн с TRUE. Сам проверь.
     
  7. baldr

    baldr New Member

    Публикаций:
    0
    Регистрация:
    29 апр 2010
    Сообщения:
    327
    В общем-то, тов. Clerk это описал здесь, но в своём стиле.