次の方法で共有


COM_INTERFACE_ENTRY_TEAR_OFF

更新 : 2007 年 11 月

ティアオフ インターフェイスを公開します。

COM_INTERFACE_ENTRY_TEAR_OFF( iid, x )

パラメータ

  • iid
    [入力] ティアオフ インターフェイスの GUID。

  • x
    [入力] インターフェイスを実装しているクラスの名前。

解説

ティアオフ インターフェイスは、独立したオブジェクトとして実装されます。このオブジェクトのインスタンスは、該当のインターフェイスが問い合わせを受けるたびに作成されます。通常、めったに使用されないインターフェイスは、ティアオフ インターフェイスとして作成します。こうすることによって、vtable ポインタがメイン オブジェクトのどのインスタンスにも保存されます。ティアオフ オブジェクトは、参照カウントが 0 になると削除されます。ティアオフ インターフェイスを実装するクラスは、CComTearOffObjectBase の派生クラスである必要があります。また、独自の COM マップを設定する必要があります。

COM マップのエントリについては、「COM_INTERFACE_ENTRY に関するマクロ」を参照してください。

使用例

BEGIN_COM_MAP(CBeeper)
   COM_INTERFACE_ENTRY(IBeeper)
   COM_INTERFACE_ENTRY(IDispatch)
   COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()

必要条件

ヘッダー : atlcom.h

参照

その他の技術情報

COM マップに関するマクロ

ATL マクロ