Добрый день. Отлаживаю службу. В цикле обращаюсь к серваку, там выполняется php скрипт и рез. работы отсылеется дальше. Пытаюсь применить там функции из либ: - wininet.dll (InternetOpen), - urlmon.dll (URLDownloadToFile) Служба в виде отдельного exe-шника, без самозапуска. ... под отладчиком на этих функциях - ступор. Служба в виде dll-ки. ... под отладчиком на этих функциях - ступор. Служба в виде самозапускающегося, саморегистрирующегося exe-шки. Т.е. когда и регистрация службы и запуск в одном и том-же модуле. ... работает! ??? Код с wininet.dll и urlmon.dll проверял - рабочий. Вопрос - что не так с wininet.dll и urlmon.dll в контексте сервиса? Или я ошибаюсь? Кто-то сталкивался? Советуют использовать winhttp.dll. Не подбросит ли кто winhttp.inc и .lib для masm-a если не жалко? Спасибо.
_sheva740, Динамические библиотеки, пользующиеся COM, не делают её инициализации («и это правильно» ©, ибо узнать готова ли уже эта лошадь, кроме как эмпирически — нету способу). Т.е. CoInitialize() неплохо бы вызвать самому (ну и CoUninitialize() впоследствии тоже).
http://msdn.microsoft.com/en-us/library/aa385331(VS.85).aspx WinINet does not support server implementations. In addition, it should not be used from a service. For server implementations or services use Microsoft Windows HTTP Services (WinHTTP).
vptrlx Спасибо большое! Вышел из положения так Код (Text): ... .data cmd db 'C:\Program Files\Internet Explorer\IEXPLORE.EXE http://mysite.com/getdata.php', 0 ... proc ServiceMain, dwNU1, dwNU2 ... __next: invoke WinExec, cmd, SW_HIDE invoke Sleep, WAIT_FOR ; и закрыть Explorer ... jmp __next endp