Информация об изменениях

Сообщение Как реализован Invoke в WinForms? от 03.09.2014 7:48

Изменено 03.09.2014 7:50 v_0ver

Есть ПО для которого пишется расширение(COM). Дёргать API этого ПО можно только из его потока(если поток придержать, то ПО повисает и не отвечает), то есть потока который он выделил при загрузки расширения. Так же осуществляется связь этого расширения по средствам WCF со сторонней программой.
На текущий момент сделаны костыли в виде WinForms invoke():

В Parent Thread создаётся Form, а из WCF Thread дёргается его Invoke().

Как я понимаю Invoke отправляет сообщение в пул сообщений главного цикла WinForms, а тот в свою очередь дёргает соответствующую функцию. Только не понятно каким образом WinForm прописывается в главный цикл обработки сообщений ПО?
Как реализован Invoke в WinForms?
Есть ПО для которого пишется расширение(COM). Дёргать API этого ПО можно только из его потока(если поток придержать, то ПО повисает и не отвечает), то есть потока который он выделил при загрузки расширения. Так же осуществляется связь этого расширения по средствам WCF со сторонней программой.
На текущий момент сделаны костыли в виде WinForms invoke():

В Parent Thread создаётся Form, а из WCF Thread дёргается его Invoke().

Как я понимаю Invoke отправляет сообщение в пул сообщений главного цикла WinForms, а тот в свою очередь дёргает соответствующую функцию. Только не понятно каким образом WinForms прописывается в главный цикл обработки сообщений ПО?