Classes de módulo ATL

Este tópico discute as classes de módulo que eram novas na ATL 7.0.

Classes de substituição CComModule

Versões anteriores da ATL usavam CComModule. Na ATL 7.0, a CComModule funcionalidade é 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 de recurso.

  • Catlcommodule Contém informações exigidas pelas classes COM na ATL.

  • Catlwinmodule Contém informações exigidas pelas classes de janela na ATL.

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

  • Catlmodule As classes CAtlModulederivadas a seguir são personalizadas para conter informações necessárias em um tipo de aplicativo específico. A maioria dos membros nessas classes pode ser substituído:

    • 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 backward.

Motivos para distribuir a funcionalidade CComModule

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

  • Tornar a funcionalidade granular CComModule .

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

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

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

  • Remova 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; não há mais a necessidade de chamar Init e Term.

Confira também

Conceitos
Visão geral da classe