COM マップに関するマクロ
これらのマクロによって、COM インターフェイス マップが定義されます。
マクロ | 説明 |
---|---|
BEGIN_COM_MAP | COM インターフェイス マップ エントリの先頭をマークします。 |
END_COM_MAP | COM インターフェイス マップ エントリの末尾をマークします。 |
要件
ヘッダー: atlcom.h
BEGIN_COM_MAP
この COM マップは、オブジェクト上のインターフェイスを、QueryInterface
経由でクライアントに公開するメカニズムです。
BEGIN_COM_MAP(x)
パラメーター
x
[入力] インターフェイスを公開しているクラス オブジェクトの名前です。
解説
CComObjectRootEx::InternalQueryInterface は、COM マップ内のインターフェイスのポインターのみを返します。 BEGIN_COM_MAP マクロを使用してインターフェイス マップを開始し、COM_INTERFACE_ENTRY マクロまたはそのいずれかのバリアントを使用して各インターフェイスのエントリを追加し、END_COM_MAP マクロを使用してマップを完成させます。
例
ATL BEEPER サンプルからのものです。
BEGIN_COM_MAP(CBeeper)
COM_INTERFACE_ENTRY(IBeeper)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY_TEAR_OFF(IID_ISupportErrorInfo, CBeeper2)
END_COM_MAP()
END_COM_MAP
COM インターフェイス マップの定義を終了します。
END_COM_MAP()