Share via


CAtlExeModuleT Class

This class represents the module for an application.

template < 
   class T  
> 
class ATL_NO_VTABLE CAtlExeModuleT : 
   public CAtlModuleT< T >

Parameters

  • T
    Your class derived from CAtlExeModuleT.

Members

Public Constructors

Name

Description

CAtlExeModuleT::CAtlExeModuleT

The constructor.

CAtlExeModuleT::~CAtlExeModuleT

The destructor.

Public Methods

Name

Description

CAtlExeModuleT::InitializeCom

Initializes COM.

CAtlExeModuleT::ParseCommandLine

Parses the command line and performs registration if necessary.

CAtlExeModuleT::PostMessageLoop

This method is called immediately after the message loop exits.

CAtlExeModuleT::PreMessageLoop

This method is called immediately before entering the message loop.

CAtlExeModuleT::RegisterClassObjects

Registers the class object.

CAtlExeModuleT::RevokeClassObjects

Revokes the class object.

CAtlExeModuleT::Run

This method executes code in the EXE module to initialize, run the message loop, and clean up.

CAtlExeModuleT::RunMessageLoop

This method executes the message loop.

CAtlExeModuleT::UninitializeCom

Uninitializes COM.

CAtlExeModuleT::Unlock

Decrements the module's lock count.

CAtlExeModuleT::WinMain

This method implements the code required to run an EXE.

Public Data Members

Name

Description

CAtlExeModuleT::m_bDelayShutdown

A flag indicating that there should be a delay shutting down the module.

CAtlExeModuleT::m_dwPause

A pause value used to ensure all objects are released before shutdown.

CAtlExeModuleT::m_dwTimeOut

A time-out value used to delay the unloading of the module.

Remarks

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.

Inheritance Hierarchy

_ATL_MODULE

CAtlModule

CAtlModuleT

CAtlExeModuleT

Requirements

Header: atlbase.h

See Also

Reference

CAtlModuleT Class

CAtlDllModuleT Class

Concepts

ATLDuck Sample

Other Resources

ATL Class Overview