Появилась задача использовать некоторый СОМ-компонет. Причем компонент даульный (т.е. поддерживает IDispatch + vtbl). Сгенерировал для него модуль заглушку с помощью DevComInterfaceGen.GenCustomInterface. Посмотрел код, и тут меня сомнения взяли, что генерируется код для VTBL,  а не для IDispatch->Invoke.

Основа сомнений - это присоединенные функции, а ля методы класса. В СОМ ведь очень важен порядок функций в VTBL,  а следовательно порядок объявления процедур 1:1 должен соответствовать порядку методов в VTBL.  Что-то я не уверен в том, что компилятор следует этому правилу.

Кто нибудь может внести ясность? Как вообще работает ЧЯ с СОМ? В документации не много информации.

Често говоря, очень не хочется руками лопатить громадный хидер компоненты, чтобы написать заглушку.