Здравствуйте, 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 — выгрузили, удалили.