COM マップに関するマクロ

これらのマクロは COM インターフェイス マップを定義します。

BEGIN_COM_MAP

COM インターフェイス マップ エントリの開始位置を示します。

COM_INTERFACE_ENTRY

COM インターフェイス マップにインターフェイスを入力します。

COM_INTERFACE_ENTRY2

2 つの継承元に関するあいまい性を解決します。

COM_INTERFACE_ENTRY_IID

このマクロは、インターフェイスを COM マップに入力し、インターフェイスの IID を指定するために使用します。

COM_INTERFACE_ENTRY2_IID

COM_INTERFACE_ENTRY2 と同じ機能を提供します。ただし、このマクロでは別の IID を指定できます。

COM_INTERFACE_ENTRY_AGGREGATE

iid で識別されるインターフェイスが問い合わせを受けると、COM_INTERFACE_ENTRY_AGGREGATE は punk に転送します。

COM_INTERFACE_ENTRY_AGGREGATE_BLIND

COM_INTERFACE_ENTRY_AGGREGATE と同じ機能を提供します。ただし、どのような IID についての問い合わせも punk に転送されます。

COM_INTERFACE_ENTRY_AUTOAGGREGATE

COM_INTERFACE_ENTRY_AGGREGATE と同じ機能を提供します。ただし、punk が NULL の場合は、clsid で識別される集約を自動的に作成します。

COM_INTERFACE_ENTRY_AUTOAGGREGATE_BLIND

COM_INTERFACE_ENTRY_AUTOAGGREGATE と同じ機能を提供します。ただし、どのような IID についての問い合わせも punk に転送されます。また、punk が NULL の場合は、clsid で識別される集約を自動的に作成します。

COM_INTERFACE_ENTRY_BREAK

指定されたインターフェイスが問い合わせを受けると、プログラムが DebugBreak を呼び出すようにします。

COM_INTERFACE_ENTRY_CACHED_TEAR_OFF

すべてのインスタンスについてインターフェイス固有のデータを保存します。

COM_INTERFACE_ENTRY_TEAR_OFF

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

COM_INTERFACE_ENTRY_CHAIN

処理が COM マップ内のこのエントリに達したときに、基本クラスの COM マップを処理します。

COM_INTERFACE_ENTRY_FUNC

ATL の QueryInterface ロジックにフックするための一般的な機構です。

COM_INTERFACE_ENTRY_FUNC_BLIND

COM_INTERFACE_ENTRY_FUNC と同じ機能を提供します。ただし、IID について問い合わせると、func が呼び出されます。

COM_INTERFACE_ENTRY_NOINTERFACE

指定されたインターフェイスに対する問い合わせを受けると、E_NOINTERFACE を返し、COM マップの処理を終了します。

END_COM_MAP

COM インターフェイス マップ エントリの終了位置を示します。

参照

その他の技術情報

ATL マクロ

COM マップに関するグローバル関数