Portage de ATL 2.1

IObjectSafetyImpl

2.1. ATL, la classe IObjectSafetyImpl a marqué le contrôle comme étant sûr pour les scripts. Pour des raisons de sécurité, cette valeur par défaut a été supprimée, donc vous devez spécifier explicitement vos options de sécurité à l'aide des deuxième paramètres de modèle. Vous devez exposer maintenant cette classe à l'aide de COM_INTERFACE_ENTRY plutôt que de COM_INTERFACE_ENTRY_IMPL.

_ATL_NO_UUIDOF

ATL 3.0 utilise le mot clé compilateur __uuidof ( classe ) pour obtenir l'IID correspondant à une classe donnée. En raison des modifications dans les macros COM_INTERFACE_ENTRY, maintenant vous simplement inclure l'en-tête de l'interface à utiliser, au lieu de relier aussi dans une bibliothèque qui définit les correspondance IID pour cette interface. Ce changement peut provoquer des problèmes si l'en-tête a été précédemment générée par une vieille version de MIDL, ou s'il a été codé à la main et pas marqué de façon appropriée.

Si la déclaration de l'interface dans l'en-tête n'a pas été marquée avec un associé __declspec(uuid), alors toute tentative d'utiliser le mot clé __uuidof() pour cette interface échouera. Vous pouvez revenir aux anciennes macros COM_INTERFACE_ENTRY style (ATL 2.x) en définissant _ATL_NO_UUIDOF dans vos paramètres de génération pour contourner des problèmes avec ce nouveau comportement.

Nouveau _ATL_DEBUG_INTERFACES

En plus de _ATL_DEBUG_QI et _ATL_DEBUG_REFCOUNT, présent dans ATL 2.x, il y a du nouveau _ATL_DEBUG_INTERFACES, qui retracera toute fuite d'interface qui est à la console de débogage détectée lorsque _Module.Term est appelé (lorsque le serveur s'arrête).

Voir aussi

Conseils de débogage pour les objets ATL

Macros obsolètes

Macro Commentaire
COM_INTERFACE_ENTRY_IMPL Obsolète. Remplacez COM_INTERFACE_ENTRY.
COM_INTERFACE_ENTRY_IMPL_IID Obsolète. Remplacer par COM_INTERFACE_ENTRY_IID.
CHAIN_MSG_MAP_ALT_DYNAMIC Obsolète et supprimé.
BEGIN_PROPERTY_MAP Obsolète. Utilisez la nouvelle macro, BEGIN_PROP_MAP, tel que décrit dans les Nouvelles Macros.
END_PROPERTY_MAP Obsolète. Utilisez la nouvelle macro, END_PROP_MAP, tel que décrit dans les Nouvelles Macros.

Index