Поделиться через


Модульные классы ATL

Замечание

Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

В этом разделе рассматриваются классы модулей, которые были новыми в ATL 7.0.

Классы для замены CComModule

Более ранние версии ATL использовали CComModule. В ATL 7.0 CComModule функциональные возможности заменяются несколькими классами:

  • CAtlBaseModule Содержит сведения, необходимые большинству приложений, использующих ATL. Содержит HINSTANCE модуля и экземпляр ресурса.

  • CAtlComModule Содержит сведения, необходимые классам COM в ATL.

  • CAtlWinModule Содержит сведения, необходимые классам окон в ATL.

  • CAtlDebugInterfacesModule Содержит поддержку отладки интерфейса.

  • CAtlModule Следующие CAtlModuleпроизводные классы настраиваются для хранения сведений, необходимых для определенного типа приложения. Большинство членов этих классов можно переопределить.

    • CAtlDllModuleT используется в приложениях DLL. Предоставляет код для стандартных экспортов.

    • CAtlExeModuleT используется в приложениях EXE. Предоставляет код, необходимый в EXE.

    • CAtlServiceModuleT обеспечивает поддержку создания служб Windows NT и Windows 2000.

CComModule по-прежнему доступен для обратной совместимости.

Причины распространения функций CComModule

Функциональные возможности CComModule были распределены по нескольким новым классам по следующим причинам:

  • Сделайте функциональность CComModule гранулярной.

    Поддержка функций COM, окон, отладки интерфейсов и приложений (DLL или EXE) теперь находится в отдельных классах.

  • Автоматически объявите глобальный экземпляр каждого из этих модулей.

    Глобальный экземпляр обязательных классов модулей связан с проектом.

  • Удалите необходимость вызова методов Init и Term.

    Методы Init и Term перемещены в конструкторы и деструкторы для классов модулей; Больше нет необходимости вызывать Init и Term.

См. также

Основные понятия
Общие сведения о классе