COM программирование на C очень больно, но не невозможно. Однако доллар останавливается. Точка библиотеки типов должна иметь инструмент, автоматически генерирующий COM-интерфейс и объявления со-класса, чтобы вы могли использовать их в своем коде. Совсем аналогично файлу .h, но не зависит от языка. Эквивалент .NET - это метаданные в сборке.
Проблема в том, что инструмент не доступен для преобразования объявлений .tlb в C. Я уверен, что вы знакомы с #import, вот что используется в MSVC. Но он генерирует C++-код, интеллектуальные указатели, которые помогают вам создавать COM-объект, вызывать его методы интерфейса и обрабатывать ошибки. Если есть инструмент, который генерирует C, то это очень хорошо скрытый секрет.
Один трюк подскакивает, вы можете использовать OleView.exe, File + View TypeLib, чтобы просмотреть содержимое библиотеки типов. Это представление декомпилируется в IDL, языке определения интерфейса. Вы можете скопировать и вставить этот текст в файл .idl и скомпилировать его с помощью midl.exe с параметром командной строки/header. Это создает файл .h, который содержит как C++, так и C-объявления для интерфейсов. Вы должны закрыть вас, просто убедитесь, что библиотека типов достаточно стабильна, поэтому вам не нужно делать это очень часто.
я получаю c2773 error: #import и #using доступны только в компиляторе C++ – rplusg