Я ищу образец кода, который иллюстрирует выполнение многопоточных вызовов COM в DLL-библиотеке COM-сервера ATL. Знаешь одного?
Подробнее:
Мой компонент - это вспомогательный объект браузера IE, который должен работать в фоновом потоке. В одном из моих методов объекта, вызываемых из основного потока IE, IE дает мне указатель на IE DOM (_ 1_), и я сохраняю его в локальной переменной-члене.
Теперь я хочу создать рабочий поток, который может асинхронно вызывать методы на указателе интерфейса COM, который я только что сохранил.
Если это имеет значение, мои вызовы будут происходить после того, как я вернусь из метода, в котором я получил указатель на интерфейс из IE, поэтому IE (а не мой код) будет иметь контроль, когда я попытаюсь выполнить вызовы из моего рабочего потока.
И мой компонент, и хост-приложение являются многопоточными.
Кто-нибудь знает хороший пример C ++, показывающий, как это делается?
Я специально ищу короткий простой образец (а не просто указатель на соответствующую документацию), потому что я прочитал этот вопрос и ответы на него, и я был напуган объемом обучения, который мне пришлось бы сделать, чтобы написать реализация с нуля. Каждый раз, когда кто-то рекомендует прочитать книгу Дона Бокса перед написанием кода, знайте, что вас ждет долгая, запутанная ночь ... :-)