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


Модульные классы 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.

См. также

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