| description | Learn more about: COM Map Macros | ||||
|---|---|---|---|---|---|
| title | COM Map Macros | ||||
| ms.date | 11/04/2016 | ||||
| f1_keywords |
|
||||
| helpviewer_keywords |
|
||||
| ms.assetid | 0f33656d-321f-4996-90cc-9a7f21ab73c3 |
These macros define COM interface maps.
| Macro | Description |
|---|---|
| BEGIN_COM_MAP | Marks the beginning of the COM interface map entries. |
| END_COM_MAP | Marks the end of the COM interface map entries. |
Header: atlcom.h
The COM map is the mechanism that exposes interfaces on an object to a client through QueryInterface.
BEGIN_COM_MAP(x)
x
[in] The name of the class object you are exposing interfaces on.
CComObjectRootEx::InternalQueryInterface only returns pointers for interfaces in the COM map. Start your interface map with the BEGIN_COM_MAP macro, add entries for each of your interfaces with the COM_INTERFACE_ENTRY macro or one of its variants, and complete the map with the END_COM_MAP macro.
From the ATL BEEPER sample:
[!code-cppNVC_ATL_COM#1]
Ends the definition of your COM interface map.
END_COM_MAP()