Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
Общий
(Модератор:
Вад
) > Тема:
Запуск DLL в отдельном процессе
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Запуск DLL в отдельном процессе (Прочитано 8038 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PSD
Главный специалист
Offline
Пол:
Запуск DLL в отдельном процессе
«
:
18-09-2006 10:04 »
Есть свои плагины написанные как DLL с определнным набором интерфесных функций.... требуется запускать их как inproc так и в качестве отденого процесса. Писать свой стартапп не хочется, есть ли в винде механизм для запуска DLL в отдельном потоке, вродикак DLLHost что то умее но вся дока поне му ссылается на IIS ....
Записан
Да да нет нет все остальное от лукавого.
Rulik
Помогающий
Offline
Re: Запуск DLL в отдельном процессе
«
Ответ #1 :
18-09-2006 10:39 »
Я думаю rundll.exe должен тебе помочь.
Конкретно я думаю написано в MSDN.
Записан
Finch
Спокойный
Администратор
Offline
Пол:
Пролетал мимо
Re: Запуск DLL в отдельном процессе
«
Ответ #2 :
18-09-2006 15:28 »
Только не rundll, а rundll32. Насколько я знаю форма запуска такая.
rundll32 [Твоя ДЛЛ],[Название функции] [параметры через запятую]
Записан
Не будите спашяго дракона.
Джаффар (Коша)
PSD
Главный специалист
Offline
Пол:
Re: Запуск DLL в отдельном процессе
«
Ответ #3 :
19-09-2006 04:17 »
Факт помогла, теперь чешу репу не всилах понять что за ботва у меня происходит.....
Есть DLL в которой 4 функции
DLS_Plg_Run()
DLS_Plg_Run_as_ext() //модификация DLS_Plg_Run() без возврата управления для запуска через rundll
DLS_Plg_Stop()
DLS_Plg_Pause()
DLS_Plg_Run()
DLS_Plg_Run_as_ext()
создают объект в куче и передают ему управление, тот в свою очередь производит чтение настроек и запускает рабочий поток. разница между ними в том что DLS_Plg_Run_as_ext() пред return делает
WFSO(hTreadeWork,INFINITE).
Но при запуске плагина из rundll все рабаотает стабильно, при динамической линковке dll и запуске в нутри процеса сервера происходит скоротечный и "беспричинный" (в смысле не один лог и ни один эксепшон не отрабатывает) крах. Едиственое что на водит на раз мышление это код завершения 0xc000013a.
Записан
Да да нет нет все остальное от лукавого.
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
Общий
(Модератор:
Вад
) > Тема:
Запуск DLL в отдельном процессе
Загружается...