Re: hModule из Stream
От: Danchik Украина  
Дата: 07.09.06 12:32
Оценка:
Здравствуйте, NSP, Вы писали:

NSP>Доброго времени дня!


NSP>В потоке лежит DLL, из которой нужно вызвать 'DllRegisterServer' НЕ записывая на диск.

NSP>Пытаюсь получить hModule из Stream таким способом,но почему-то hModule = 0.

[Skip]

NSP>Может вместо GetHGlobalFromStream() хэндл потока из интерфэйса IStream надо получать другим способом?Или весь подход неверен?

NSP>Спасибо!

GetHGlobalFromStream — это вообще не из той оперы

И чего вы хотели добиться при регистрации DLL, которая находится в потоке? Гы, честно, смешно. Интересно откуда Windows будет подымать этот COM сервер Из потока какой то програмы, которая может уже и скончалась

Совет:
лучше все таки скидывать DLL на диск (грузить ее из памяти очень не тривиальная задача). В вашем примере вы для не просто запортили registry — в потоках даный подход работать не будет.
Имя можете DLL подобрать уникальное.
Загружаем ее, находим процедуру GetProcAddress ('CreatePluginObject') — вызываем ее и получаем нужный нам интерфейс. COM в даном случае можна и не использовать, зачем лишние минингиты, вы же не занимаетесь interprocess взаимодействием.
Попользовались DLL — выгрузили, удалили.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.