ATL 2.1 markiert die IObjectSafetyImpl -Klasse das Steuerelement als sicher für Skripting. Aus Gründen der Sicherheit hat diese Standardeinstellung entfernt wurde, so dass Sie Ihre Sicherheitsoptionen mithilfe der zweiten Vorlagenparameter explizit angeben müssen. Sie müssen diese Klasse anstelle COM_INTERFACE_ENTRY COM_INTERFACE_ENTRY_IMPL jetzt verfügbar.
ATL 3.0 verwendet das Compilerschlüsselwort __uuidof ( Klasse ) , um die entsprechende IID für eine bestimmte Klasse abzurufen. Aufgrund von Änderungen in die COM_INTERFACE_ENTRY Makrosenthalten Sie jetzt einfach den Header für die Schnittstelle zu verwenden, anstatt auch Verknüpfung mit einer Bibliothek, die die übereinstimmenden IIDs für die Schnittstelle definiert. Diese Änderung kann Probleme verursachen, wenn der Header zuvor durch eine alte Version von MIDL generiert wurde, oder wenn es war Hand-codiert und nicht entsprechend gekennzeichnet.
Wenn die Deklaration für die Schnittstelle in der Kopfzeile nicht mit einem zugehörigen __declspec(uuid)markiert wurde, wird jeder Versuch, das __uuidof() -Schlüsselwort für diese Schnittstelle verwenden, schlägt fehl. Sie können die alten Stil (ATL 2.x) COM_INTERFACE_ENTRY Makros Wiederherstellen durch die Definition von _ATL_NO_UUIDOF in den Buildeinstellungen, um Probleme mit diesem neuen Verhalten zu umgehen.
Neben _ATL_DEBUG_QI und _ATL_DEBUG_REFCOUNT, vorhanden in ATL 2.x gibt es das neue _ATL_DEBUG_INTERFACES, die in der Debug-Konsole Lecks Schnittstelle verfolgen werden, die erkannt, wenn _Module.Term aufgerufen wird (wenn der Server heruntergefahren wird).
Siehe auch
Debuggen Tipps für ATL-Objekte
| Makro | Kommentar |
| COM_INTERFACE_ENTRY_IMPL | Veraltet. Ersetzen Sie durch COM_INTERFACE_ENTRY. |
| COM_INTERFACE_ENTRY_IMPL_IID | Veraltet. Ersetzen Sie mit COM_INTERFACE_ENTRY_IID. |
| CHAIN_MSG_MAP_ALT_DYNAMIC | Veralteten und gelöschten. |
| BEGIN_PROPERTY_MAP | Veraltet. Verwenden Sie das neue Eigenschaft Karte Makro, BEGIN_PROP_MAP, wie in Neue Makros beschrieben. |
| END_PROPERTY_MAP | Veraltet. Verwenden Sie das neue Eigenschaft Karte Makro, END_PROP_MAP, wie in Neue Makros beschrieben. |