This class represents the module for an application.
template < class T > class ATL_NO_VTABLE CAtlExeModuleT : public CAtlModuleT< T >
Your class derived from CAtlExeModuleT.
CAtlExeModuleT represents the module for an application (EXE) and contains code that supports creating an EXE, processing the command line, registering class objects, running the message loop, and cleaning up on exit.
This class is designed to improve performance when COM objects in the EXE server are continually created and destroyed. After the last COM object is released, the EXE waits for a duration specified by the CAtlExeModuleT::m_dwTimeOut data member. If there is no activity during this period (that is, no COM objects are created), the shutdown process is initiated.
The CAtlExeModuleT::m_bDelayShutdown data member is a flag used to determine if the EXE should use the mechanism defined above. If it is set to false, then the module will terminate immediately.
For more information on modules in ATL, see ATL Module Classes.