Здравствуйте, Pavel Dvorkin, Вы писали:
PD>Здравствуйте, bobik1, Вы писали:
B>>Но этого не происходит, потому что, как я понял работа с com объектами блокируется во время ожидания WaitOne().
PD>Во время ожидания блокируется вся работа потока. Поток в состоянии "не готов". Вывести его из этого состояния может только другой поток (того же или иного процесса), установив событие.
PD>Подскажите как корректно организовать работу с ожиданием событие при работе с Com Interop?
PD>COM тут особой роли не играет.
CoWaitForMultipleHandles:
If the caller resides in a single-thread apartment, CoWaitForMultipleHandles enters the COM modal loop, and the threads message loop will continue to dispatch messages using the threads message filter. If no message filter is registered for the thread, the default COM message processing is used.
If the calling thread resides in a multithread apartment (MTA), CoWaitForMultipleHandles calls the Win32 function MsgWaitForMultipleObjects.