Перенос из ATL 2.1

IObjectSafetyImpl

В ATL 2.1 IObjectSafetyImpl класс помечен элемент управления как безопасный для сценариев. По соображениям безопасности было удалено это значение по умолчанию, поэтому необходимо явно указать параметры безопасности с помощью второй параметров шаблона. Вы должны теперь подвергать этого класса с помощью COM_INTERFACE_ENTRY , а не COM_INTERFACE_ENTRY_IMPL.

_ATL_NO_UUIDOF

ATL 3.0 использует ключевое слово компилятора __uuidof ( класса ) для получения соответствующего IID для данного класса. Из-за изменений в макрос COM_INTERFACE_ENTRYтеперь вы просто включать заголовок для интерфейса для использования, вместо того, чтобы также ссылки на библиотеки, которая определяет соответствующие идентификаторы IID для данного интерфейса. Это изменение может вызвать проблемы, если заголовок ранее созданные в старой версии MIDL, или если он был стороны кодом и не помечены соответствующим образом.

Если объявление для интерфейса в заголовке не отмеченные связанного __declspec(uuid), то любая попытка использовать ключевое слово __uuidof() для этого интерфейса не будут. Вы можете вернуться к старой макросов COM_INTERFACE_ENTRY стиль (ATL 2.x) путем определения _ATL_NO_UUIDOF в настройках вашей сборки для решения любых проблем с такое новое поведение.

Новые _ATL_DEBUG_INTERFACES

В дополнение к _ATL_DEBUG_QI и _ATL_DEBUG_REFCOUNT, присутствующие в ATL 2.x, есть новый _ATL_DEBUG_INTERFACES, который будет отслеживать в консоли отладки любой утечки интерфейса, которые являются обнаружены при _Module.Term (когда сервер выключается).

Родственные слова

Отладка советы для объектов ATL

Устаревшие макросы

Макрос Комментарий
COM_INTERFACE_ENTRY_IMPL Устарели. Замените COM_INTERFACE_ENTRY.
COM_INTERFACE_ENTRY_IMPL_IID Устарели. Замените COM_INTERFACE_ENTRY_IID.
CHAIN_MSG_MAP_ALT_DYNAMIC Устаревшие и удаленных.
BEGIN_PROPERTY_MAP Устарели. Используйте новый макрос карта собственности, BEGIN_PROP_MAP, как описано в Новых макросов.
END_PROPERTY_MAP Устарели. Используйте новый макрос карта собственности, END_PROP_MAP, как описано в Новых макросов.

Index