Здравствуйте, _Student_, Вы писали:
_S_>УРА!!! Я сам нашел решение!
_S_>Ручной вызов CoInitialize(NULL); при входе в обработку события (он при этом новый поток создает).
_S_>При выходе можно CoUnitialize(); Но по-моему он и сам ее освободит.
Ага, освободит, но только после завершения основного процесса. Будет у тебя туча подразделений (Apartment)

Поосторожней с этим. Читай статью с этого сайта
Понимание подразделений COMАвтор(ы): Jeff Prosise
Дата: 22.02.2001
В этой статье подробно рассматриваются подразделения (apartments) в модели
COM. Автор описывает различные виды подразделений, показывает, каким образом
подразделения назначаются потокам и объектам, а также даёт ряд полезных
советов, которые позволят вам избежать ошибок при работе с подразделениями.