Привет всем.
Столкнулся с проблемой при написании BHO к IE.
Я хочу управлять всеми BHO, которые были подгружены IE. Для ентого я написал еще один COM-сервер(out-process), который является singleton`ом.
Таким образом, все BHO, обращаются к одному и тому же экземпляру управляющего сервера.
Все хорошо, только если в запущенном IE не открывать новое окно. Если оно каким нить образом откроется, например, File->Open->New Window, то получается следующее:
так как новое окно(New) создается в потоке, который в свою очередь создается IE(Old). таким образом имеем два окна в одном процессе и один BHO для них.
загвоздка в том, что функции singletona вызывает только новое окно(New), а IE(Old), тот, что открыл новое окно, эти функции не вызывает(точнее функции возвращают не те значения, которые я в них заложил, а именно E_INVALIDARG).

вот. Как смог объяснил.
Посоветуйте плиз, что не так, то есть почему функции singleton`а не вызываются, скажем так, старым окном?
Заранее спасибо.