A partire da ATL 3.0, BEGIN_PROPERTY_MAP viene sostituito da BEGIN_PROP_MAP. BEGIN_PROPERTY_MAP potrebbe essere utilizzato solo con controlli e automaticamente salvati fuori e leggere nella misura o dimensioni della mappa. Questa limitazione non è più presente in ATL 3.0, e non c'è bisogno esiste per leggere in misura della mappa delle proprietà.
Per garantire la compatibilità, ATL definisce i seguenti:
# define BEGIN_PROPERTY_MAP(theClass) \
typedef _ATL_PROP_NOTIFY_EVENT_CLASS __ATL_PROP_NOTIFY_EVENT_CLASS; \
typedef _PropMapClass theClass; \
static (ATL_PROPMAP_ENTRY * GetPropertyMap) \
{\
statico [pPropMap ATL_PROPMAP_ENTRY] = \
{ \
{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}