A partir de ATL 3.0, BEGIN_PROPERTY_MAP es sustituido por BEGIN_PROP_MAP. BEGIN_PROPERTY_MAP puede utilizarse sólo con controles, y automáticamente guarda fuera y leer en la medida o dimensiones del mapa. Esta limitación no existe en ATL 3.0, y sin necesidad de existe para lectura en punto del mapa de propiedades.
Por razones de compatibilidad, ATL define lo siguiente:
# define BEGIN_PROPERTY_MAP(theClass) \
TypeDef _ATL_PROP_NOTIFY_EVENT_CLASS __ATL_PROP_NOTIFY_EVENT_CLASS; \
TypeDef theClass _PropMapClass; \
estático () ATL_PROPMAP_ENTRY * GetPropertyMap \
{\
[] de la estática ATL_PROPMAP_ENTRY pPropMap = \
{ \
{OLESTR("_cx"), 0, amp;CLSID_NULL, NULL, offsetof (_PropMapClass, m_sizeExtent.cx), sizeof(long), VT_UI4}, \
{OLESTR("_cy"), 0 & CLSID_NULL, NULL, offsetof (_PropMapClass, m_sizeExtent.cy), sizeof(long), VT_UI4}