ATL 模組類別
本主題討論 ATL 7.0 中新增的模組類別。
CComModule 取代類別
舊版的 ATL 使用 CComModule
。 在 ATL 7.0 中, CComModule
功能會由數個類別取代:
CAtlBaseModule 包含大部分使用 ATL 的應用程式所需的資訊。 包含模組和資源實例的 HINSTANCE。
CAtlComModule 包含 ATL 中 COM 類別所需的資訊。
CAtlWinModule 包含 ATL 中視窗化類別所需的資訊。
CAtlDebugInterfacesModule 包含介面偵錯的支援。
CAtlModule 下列
CAtlModule
衍生類別會自定義為包含特定應用程式類型中所需的資訊。 這些類別中的大部分成員都可以覆寫:CAtlDllModuleT 用於 DLL 應用程式中。 提供標準導出的程序代碼。
在 EXE 應用程式中使用的 CAtlExeModuleT 。 提供 EXE 中所需的程式代碼。
CAtlServiceModuleT 支援建立 Windows NT 和 Windows 2000 服務。
CComModule
仍然可供回溯相容性使用。
散發 CComModule 功能的原因
的功能 CComModule
已散發成數個新類別,原因如下:
讓功能更
CComModule
細微。COM、視窗化、介面偵錯和應用程式特定 (DLL 或 EXE) 功能的支援現在位於不同的類別中。
自動宣告每個模組的全域實例。
必要模組類別的全域實例會連結至專案。
拿掉呼叫 Init 和 Term 方法的必要條件。
Init 和 Term 方法已移至模組類別的建構函式和解構函式中;不再需要呼叫 Init 和 Term。