Я разрабатываю приложение Windows с управлением WebBrowser (IWebBrowser2
).IWebBrowser2 и многопоточная квартира?
Вещи хорошо выглядеть, если я инициализировать COM квартиру как однопоточный:
CoInitialize(NULL);
Однако, если я изменить его многопоточности:
CoInitializeEx(NULL, COINIT_MULTITHREADED);
тогда он начинает терпеть неудачу во всем местах возвращаемое значение:
Исходящий вызов не может быть выполнен, так как приложение отправляет синхронный вход.
от вызовов к методам IWebBrowser2.
Может кто-нибудь, пожалуйста, скажите мне, как решить эту проблему? Я должен использовать многопоточную квартиру в качестве требования. Пожалуйста помоги!
Почему именно вам нужно использовать MTA? – sharptooth
На самом деле мы не так уверены ... на самом деле приложение использует как iTunes COM, так и IWebBrowse2 COM, и когда мы используем STA, выполнение кажется неработоспособным, если мы не используем MTA. Однако MTA ломает IWebBrowser2, как кажется. – TopQ
Вы знаете, что вы можете делать многопоточность с помощью STA просто отлично? – wqw