COMにおけるクライアントとサーバー間の通信では、当事者の知らないところで数多くの複雑な処理が行われています。 たとえば、COMのクライアントはサーバーがDLLとして実装されていようと、 EXEとして実装されていようとほぼ同じコードを記述できますが、 これはCOMが通信に必要な処理を内部的に行っているからです。 また、サーバーのオブジェクトを実装する際には、 マルチスレッドによる同時アクセスを防ぎたい場合がありますが、 これもそうした旨をレジストリに登録していれば、 COMによって適切な調整が行われます。 つまり、単一のスレッドだけオブジェクトにアクセスすることが保障されることになります。 今回は、こうした事がどのような方法で可能になっているかを考えるために、 アパートメント(以下、アパート)について焦点を当てます。 オブジェクトが単一のスレッドのアクセスだけを想定しているか、 あるいはマ