Скажите, существует ли в природе програмка которая отслеживает COM вызовы в пределах некоторого процесса (типа ApiMonitor, но для СОМ)? Еще, можно ли имея указатель (IUnknown) на накий объект узнать какие интерфейсы он имплементирует?
"Dr. COM" умеет и даже даже показывает интерфейсы. Так IUnknown и есть интерфейс, и сам он другие не реализует, единственно ты можешь запросить другой через QueryInterface. Можно узнать какие интерфейсы реализует определённый CoClass, перехватив гуид этого класса.
по первой части вопроса - DrCom или ComSpy (если он есть для NT) по второй: 1. Разбор type library, ассоциированной с компонентом или внедренной в его модуль в качестве ресурса 2. IProvideClassInfo, IProvideClassInfo2 других способов не знаю
ComSpy, к сожалению, не обновлялся последние 8 лет и не потдерживает NT. DrCOM работает, но в нем не хватает очень важной для меня функции - отслеживание вызовов (он только отслеживает создание объектов). Может есть еще что?
Мля, разучился юзать поиск, искал на васме этой темы не было, пошел на яндекс - Появилась! Парадокс ))) По делу: Изменилось ли в данной обасти что-либо? Мне надо посмотреть, какие коклассы загружены и какие их интерфейсы используются и кем! )
Proteus Да? Видимо тут никто не может отличить одно от другого. Но счётчик ссылок то он зато показывает. Но вызовы можно и самому хватать.
о чём вы. сам юзал Dr. COM, всё прально, для отслеживания выховов com-методов, правда я его с трудом нашёл, но альтернатив не встречал.