Compartilhar via


Classes de módulo da ATL

Observação

A ATL (Biblioteca de Modelos Ativos) continua com suporte. No entanto, não estamos mais adicionando recursos ou atualizando a documentação.

Esse tópico discute as classes de módulo que eram novas no ATL 7.0.

Classes de substituição do CComModule

Versões anteriores do ATL usavam CComModule. No ATL 7.0, a funcionalidade CComModule é substituída por várias classes.

  • CAtlBaseModule Contém informações exigidas pela maioria dos aplicativos que usam ATL. Contém o HINSTANCE do módulo e a instância do recurso.

  • CAtlComModule Contém as informações exigidas pelas classes COM em ATL.

  • CAtlWinModule Contém as informações exigidas pelas classes de janelas em ATL.

  • CAtlDebugInterfacesModule Contém suporte para depuração de interface.

  • CAtlModule As seguintes classes derivadas de CAtlModule são personalizadas para conter as informações necessárias em um tipo de aplicativo específico. A maioria dos membros nessas classes pode ser substituída:

    • CAtlDllModuleT Usado em aplicativos DLL. Fornece código para as exportações padrão.

    • CAtlExeModuleT Usado em aplicativos EXE. Fornece o código necessário em um EXE.

    • CAtlServiceModuleT Fornece suporte para criar Windows NT e Windows 2000 Services.

CComModule ainda está disponível para compatibilidade com versões anteriores.

Razões para distribuir a funcionalidade de CComModule

A funcionalidade de CComModule foi distribuída em várias novas classes pelos seguintes motivos:

  • Torne a funcionalidade no CComModule mais granular.

    O suporte para COM, janelas, depuração de interface e recursos específicos do aplicativo (DLL ou EXE) agora está em classes separadas.

  • Declara automaticamente a instância global de cada um desses módulos.

    Uma instância global das classes de módulo necessárias é vinculada ao projeto.

  • Remove a necessidade de chamar os métodos Init e Term.

    Os métodos Init e Term foram movidos para os construtores e destruidores das classes de módulo, de modo que não é mais necessário chamar Init e Term.

Confira também

Conceitos
Visão geral da aula