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