Share via


threading (C++)

COM オブジェクトのスレッド モデルを指定します。

構文

[ threading(model=enumeration) ]

パラメーター

model
(省略可能) 次のいずれかのスレッド モデル:

  • apartment (アパートメント スレッド)

  • neutral (ユーザー インターフェイスのない .NET Framework コンポーネント)

  • single (シングル スレッド)

  • free (フリー スレッド)

  • both (アパートメントおよびフリー スレッド)

既定値は apartment です。

解説

threading C++ 属性は、生成された .idl ファイルには表示されませんが、COM オブジェクトの実装で使用されます。

ATL プロジェクトでは、coclass 属性も存在する場合、"モデル" で指定されたスレッド モデルは、coclass 属性によって挿入される CComObjectRootEx クラスにテンプレート パラメーターとして渡されます。

threading 属性は、event_source へのアクセスも保護します。

threading の使用例については、licensed の例を参照してください。

必要条件

属性コンテキスト Value
適用対象 $
反復可能 いいえ
必要な属性 coclass
無効な属性 なし

属性コンテキストの詳細については、「 属性コンテキスト」を参照してください。

関連項目

COM 属性
Typedef、Enum、Union、および Struct 型の属性
クラス属性
旧形式のコードのためのマルチスレッド サポート (Visual C++)
ニュートラル アパートメント