Suppose I have a COM object created on an MTA thread (i.e., initialized with
CoInitializeEx(NULL, COINIT_MULTITHREADED)). I would like to use said object from some other, arbitrary, thread. For instance, from the thread pool.
Since I don’t own this thread, I cannot call
CoInitializeEx on it, so technically I cannot use COM.
I’ve seen other questions here (like this one) dealing with a similar issue in .NET, but I’m interested in native threads / thread pools, not managed ones.
Is it at all possible to use the object from an arbitrary thread? How?
Source: Windows Questions