COMアパートメントモデル(STA/MTA)
どのスレッドからCOMコンポーネントを呼んでよいかを決める、COMのスレッドモデルの約束。
- 概念URI
https://comcomponent.com/knowledge/com-apartment-model/
- 別名・表記
- STA / MTA / Single/Multi Threaded Apartment
- 上位概念
- COM(コンポーネントオブジェクトモデル)
- 下位概念
- メッセージループ / STA(Single-Threaded Apartment) / MTA(Multi-Threaded Apartment)
- 最終確認日
- 2026-08-01
- 機械可読データ
- JSON-LD
この概念が関わる関係
- OCXはCOMアパートメントモデル(STA/MTA)を前提とします。OCXはCOMのアパートメントモデル(STA/MTA)を前提に動作し、どのスレッドで生成・呼び出し・イベント受信するかを固定しておく必要がある。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- COMアパートメントモデル(STA/MTA)はメッセージループを前提とします。STA(single-threaded apartment)ではメッセージループが必要で、これは作法ではなく、隠しウィンドウ宛てのメッセージとして呼び出しを配達する仕組みそのものである。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- COMアパートメントモデル(STA/MTA)はCoInitializeExを前提とします。COMを使う各スレッドはCoInitializeExで個別に初期化する必要がある。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- COMアパートメントモデル(STA/MTA)はマーシャリングを前提とします。STAのオブジェクトのインターフェイスポインターを別スレッドへそのままコピーしてはならず、アパートメントをまたぐにはマーシャリングする必要がある。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- ActiveXはCOMアパートメントモデル(STA/MTA)を前提とします。特にUI系のOCX/ActiveXはSTA前提であることが多く、STAスレッドをブロックするとコールバックの配達が止まって固まる。 / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- work queueはCOMアパートメントモデル(STA/MTA)を利用します。work queueのスレッドはMTAで動くため、callback側でSTAのUIオブジェクトを直接触らず、結果だけをUIスレッドへ橋渡しする設計が必要になる / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- Excel COM自動化(Excel COM Interop)はCOMアパートメントモデル(STA/MTA)を前提とします。OfficeアプリケーションはSTA(シングルスレッドアパートメント)前提で作られており、1台のサーバーで同じ処理を並列に何本も走らせる使い方に構造的に向かない / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- COM(コンポーネントオブジェクトモデル)はCOMアパートメントモデル(STA/MTA)を利用します。COMは、どのスレッドからコンポーネントを呼んでよいかを決めるApartment Modelを土台にする。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- COMアパートメントモデル(STA/MTA)はCoInitializeExを前提とします。スレッドのApartmentは、CoInitializeExをCOINIT_APARTMENTTHREADEDまたはCOINIT_MULTITHREADEDで呼んだ瞬間に決まる。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- .NETの[STAThread]/[MTAThread]属性はCOMアパートメントモデル(STA/MTA)を前提とします。.NETの[STAThread]/[MTAThread]属性やApartmentStateは、COMのApartment Modelを設定するためのラッパーであり、.NETのSTA/MTAはCOMのSTA/MTAそのものである。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
- 環境の境界はCOMアパートメントモデル(STA/MTA)を前提とします。環境の境界には、STA/MTAのようなCOMのアパートメントモデルの確認が含まれる(COMやActiveXを含む構成の場合の例であり、環境の境界すべてにCOMアパートメントモデルが関わるわけではない) / 確度: 条件付きの関係 / 確認日: 2026-08-01 出典
- COM(コンポーネントオブジェクトモデル)はCOMアパートメントモデル(STA/MTA)を利用します。COMはSTA/MTAというアパートメントモデルで、どのスレッドから部品を呼んでよいかを取り決める。 / 確度: 確立した関係 / 確認日: 2026-08-01 出典
この概念を扱う記事
一次資料
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。