Я пишу реализацию Excel RTD-сервера, и я застрял на шаблоне для класса, который реализует IDispatch. У меня нет доступа к ATL, но я использую ActiveQt, хотя мне интересно, как это сделать в сыром C или С++. Как правильно реализовать методы IDispatch на COM-сервере?
Документация просто панически ужасна, как всегда. Что я до сих пор читал:
- Лучше использовать делегировать вызов метода
IDispatchдля некоторыхITypeInfo. Правильно ли это? - Если да, как получить
ITypeInfoдля себя? LoadTypeLib() и семейство (с последующим просмотромITypeLib::GetTypeInfo())? - Если нет, то как он выполняется правильно? Ссылки на документацию хорошего качества и самодостаточные примеры очень полезны.
Подход LoadTypeLib() кажется подходящим для COM-клиента для получения информации о типе для некоторой библиотеки, а не для COM-сервера, который пытается сам себя разобраться. Правильно ли я?