C#SetApartmentState
では classにメソッドがありThread
ます。C++ で同じことを行うにはどうすればよいですか?
2 に答える
管理されていないプロセスの場合、適切なパラメーターをに渡すことにより、スレッドに使用されるアパートメントモデルを制御しますCoInitializeEx()
。Larry Ostermanは、これらについてのすばらしい小さなガイドを作成しました。
...スレッドが(または )を
呼び出すと、スレッドはCOMに2つのアパートメントタイプのどちらをホストする準備ができているかを通知します。スレッドがMTAに存在する必要があることを示すには、フラグをに 渡します。スレッドがSTAをホストする必要があることを示すには 、フラグを 呼び出すか、に渡し ます。 ..。CoInitializeEx
CoInitialize
COINIT_MULTITHREADED
CoInitializeEx
CoInitialize
COINIT_APARTMENTTHREADED
CoInitializeEx
-http ://blogs.msdn.com/larryosterman/archive/2004/04/28/122240.aspx
C++にはスレッドサポートが組み込まれていません。探しているものは、アプリケーションにスレッドを実装する方法によって異なります。Win32?pthread?boost :: threads?使用しているAPIが、質問に対する答えを決定します。
編集:これはあなたのための例を持っているように見えます:http://msdn.microsoft.com/en-us/library/system.threading.apartmentstate.aspx
マネージC++に適用されるようです。