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
CAtlModule
derivadas 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.