Использование CoGetClassObject () в C - доступ к интерфейсу COM-объекта - PullRequest
2 голосов
/ 08 января 2009

Инструкция по доступу к интерфейсу приложения, в обычный C / C ++ без :

  • MFC
  • 1010 * АТЛ *
  • WTL

По сути, я хотел бы использовать COM-объект.

Рабочий пример исходного кода или руководства - с использованием (функциональность) COM-объекта, не с созданием COM-сервера.

Привет

Ответы [ 5 ]

5 голосов
/ 08 января 2009

Вот простой пример на простом C ++:

CoInitialize(NULL); // absolutely essential: initialize the COM subsystem
IMyInterface* pIFace;
// create the object and obtain a pointer to the sought interface
CoCreateInstance(CLSID_MyObject, NULL, CLSCTX_ALL, IID_IMyInterface, &pIFace);
pIFace->MethodIReallyNeed(); // use the object
pIFace->Release(); // free the object
CoUninitialize(); // cleanup COM after you're done using its services

Скопировано здесь: Основы COM

2 голосов
/ 08 января 2009

Есть статья о CodeProject, Введение в COM - что это такое и как ее использовать , которая может оказаться вам полезной. Это дает довольно хорошее введение и проработанный пример.

1 голос
/ 08 января 2009

Что ж, если у вас есть объявление интерфейса, все, что вам нужно, это вызвать CoInitialize для инициализации COM, затем CoCreateInstance, чтобы получить ваш экземпляр (и использовать его), а затем, необязательно, CoUnInitialize, чтобы деинициализировать COM.

0 голосов
/ 08 января 2009

Просто обратитесь к хорошей книге по COM (Дон Бокс или Дейл Роугерсон). Это хорошая отправная точка для COM World.

0 голосов
/ 08 января 2009

Избегайте codeproject (новичок) и просмотрите все главы MSDN о COM.

Все есть, с тоннами примеров кода C и C ++

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...