C++中Thread.SetApartmentState的等价物是什么?

Ran*_*ku' 5 c++ windows com multithreading

在C#SetApartmentState中,类中有一个方法Thread.我如何在C++中做同样的事情?

Sho*_*og9 7

对于非托管进程,您可以通过传递适当的参数来控制用于线程的单元模型CoInitializeEx().拉里·奥斯特曼写了一篇很棒的小指南:

...
当线程调用CoInitializeEx(或 CoInitialize)时,线程告诉COM它准备托管哪两种公寓类型.要指示该线程应该存在于MTA中,请将COINIT_MULTITHREADED标志传递给 CoInitializeEx.要指示线程应该承载STA,请调用 CoInitialize或传递 COINIT_APARTMENTTHREADED标志 CoInitializeEx.
...

- http://blogs.msdn.com/larryosterman/archive/2004/04/28/122240.aspx