Clases de módulo de ATL
En este tema se describen las clases de módulo nuevas en ATL 7.0.
Clases de reemplazo de CComModule
Las versiones anteriores de ATL usaban CComModule
. En ATL 7.0, la funcionalidad CComModule
se reemplaza por varias clases:
CAtlBaseModule Contiene información que requieren la mayoría de las aplicaciones que usan ATL. Contiene el valor HINSTANCE del módulo y la instancia de recurso.
CAtlComModule Contiene información que requieren las clases COM en ATL.
CAtlWinModule Contiene información que requieren las clases de ventana en ATL.
CAtlDebugInterfacesModule Contiene compatibilidad con la depuración de interfaz.
CAtlModule Las siguientes clases derivadas de
CAtlModule
se personalizan para contener la información necesaria en un tipo de aplicación determinado. La mayoría de los miembros de estas clases se pueden invalidar:CAtlDllModuleT Se usa en aplicaciones DLL. Proporciona código para las exportaciones estándar.
CAtlExeModuleT Se usa en aplicaciones EXE. Proporciona el código necesario en un EXE.
CAtlServiceModuleT Proporciona compatibilidad para crear servicios de Windows NT y Windows 2000.
CComModule
sigue estando disponible para tener compatibilidad con versiones anteriores.
Motivos para distribuir la funcionalidad de CComModule
La funcionalidad de CComModule
se distribuyó en varias clases nuevas por los siguientes motivos:
Haga que la funcionalidad de
CComModule
sea granular.La compatibilidad con COM, ventana, depuración de la interfaz y características específicas de la aplicación (DLL o EXE) ahora está en clases independientes.
Declare automáticamente una instancia global de cada uno de estos módulos.
Las instancias globales de las clases de módulo necesarias están vinculadas al proyecto.
Elimine la necesidad de llamar a los métodos Init y Term.
Los métodos Init y Term se han movido a los constructores y destructores de las clases de módulo; ya no es preciso llamar a Init y Term.