次の方法で共有


threading (C++)

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

[ threading(
      model=enumeration
) ]

パラメータ

  • model (省略可能)
    次のスレッド モデルの 1 つを指定します。

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

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

    • single (単純なスレッド)

    • free (フリー スレッド)

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

    既定値は apartment です。

解説

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

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

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

使用例

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

必要条件

属性コンテキスト

対象

class、struct

複数回の適用

不可

必要な属性

coclass

無効な属性

なし

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

参照

概念

COM 属性

Typedef、Enum、Union、および Struct 型の属性

クラス属性

マルチスレッド

Neutral Apartments

ATL サンプル