P/InvokeでもCOMの初期化は行われる。

Does the really CLR call CoInitializeEx on the first call to unmanaged code, even if you don't deal with COM at all and are just calling native code via p/invoke? – The Old New Thing – Site Home – MSDN Blogs.

.NET Fxのランタイムは、P/Invokeの場合でもP/InvokeでCOMが呼び出されるかかわからないので、スレッド開始ごとにCoInitializeEx()をCOINIT_MULTI­THREADED(つまりMTA)で呼び出しているよというお話。

ああそうっすよねー。そうですよねー。というのと、正しくスレッドごとにやってやがる。

合わせて読みたい:

If you want to set a thread's apartment model via Thread.CurrentThread.ApartmentState, you need to act quickly – The Old New Thing – Site Home – MSDN Blogs.

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください