Atl 2.1 içinde IObjectSafetyImpl sınıfı denetimi komut dosyası oluşturma için güvenli olarak işaretlenmiş. Güvenlik seçeneklerinizi ikinci şablon parametreleri kullanarak açıkça belirtmeniz gerekir böylece güvenlik nedenleriyle, bu varsayılan kaldırıldı. COM_INTERFACE_ENTRY_IMPL yerine COM_INTERFACE_ENTRY kullanarak bu sınıf artık maruz gerekir.
Atl 3.0 kullanan derleyici anahtar __uuidof ( ilgili IID için belirli bir sınıf almak için sınıf ) . COM_INTERFACE_ENTRY makrodeğişiklikler nedeniyle, artık sadece başlığını kullanan, bu arabirim için eşleşen IID'leri tanımlayan bir kütüphane de bağlamak yerine arabirimi dahil. Bu değişiklik başlık MIDL eski bir sürümü tarafından daha önce oluşturulmuşsa veya el kodlu olduğunu ve uygun şekilde işaretlenmemiş sorunlara neden olabilir.
Başlık arabirim bildirimi ile ilgili bir __declspec(uuid)olarak işaretlenmemiş, girişimi bu arabirimi için __uuidof() anahtar sözcüğünü kullanın başarısız olur. Bu yeni davranış sorunları gidermek için inşa ayarlarınızı _ATL_NO_UUIDOF tanımlanarak eski stil (atl 2.x) COM_INTERFACE_ENTRY makrolar için dönebilirsiniz.
_ATL_DEBUG_QI ve _atl_debug_refcount, atl 2.x, mevcut ek olarak orada hangi hata ayıklama konsoluna herhangi bir arabirim kaçağı olan izleme yeni _ATL_DEBUG_INTERFACES, ne zaman tespit _Module.Term (sunucu kapatıldığında) denir.
Ayrıca bkz:
İpuçları için atl nesneler hata ayıklama.
| Makro | Yorum |
| COM_INTERFACE_ENTRY_IMPL | Eskimiş. COM_INTERFACE_ENTRY ile değiştirin. |
| COM_INTERFACE_ENTRY_IMPL_IID | Eskimiş. COM_INTERFACE_ENTRY_IID ile değiştirin. |
| CHAIN_MSG_MAP_ALT_DYNAMIC | Eskimiş ve silinmiş. |
| BEGIN_PROPERTY_MAP | Eskimiş. Yeni özellik göster makro, BEGIN_PROP_MAP, Yeni makrolar açıklandığı gibi kullanın. |
| END_PROPERTY_MAP | Eskimiş. Yeni özellik göster makro, end_prop_map, Yeni makrolar açıklandığı gibi kullanın. |