ATL-Modulklassen
In diesem Thema werden die Modulklassen erläutert, die in ATL 7.0 neu waren.
CComModule-Ersatzklassen
In früheren Versionen von ATL wurde verwendet CComModule
. In ATL 7.0 wird CComModule
die Funktionalität durch mehrere Klassen ersetzt:
CAtlBaseModule Enthält Informationen, die für die meisten Anwendungen erforderlich sind, die ATL verwenden. Enthält die HINSTANCE des Moduls und der Ressourceninstanz.
CAtlComModule Enthält Informationen, die von den COM-Klassen in ATL benötigt werden.
CAtlWinModule Enthält Informationen, die für die Windowingklassen in ATL erforderlich sind.
CAtlDebugInterfacesModule Enthält Unterstützung für das Debuggen von Schnittstellen.
CAtlModule Die folgenden
CAtlModule
von abgeleiteten Klassen werden angepasst, um informationen zu enthalten, die in einem bestimmten Anwendungstyp erforderlich sind. Die meisten Member in diesen Klassen können überschrieben werden:CAtlDllModuleT Wird in DLL-Anwendungen verwendet. Stellt Code für die Standardexporte zur
CAtlExeModuleT Wird in EXE-Anwendungen verwendet. Stellt code required in an EXE (In einer EXE-Datei erforderlicher Code) zur
CAtlServiceModuleT Bietet Unterstützung zum Erstellen Windows NT und Windows 2000-Diensten.
CComModule
ist aus Gründen der Abwärtskompatibilität weiterhin verfügbar.
Gründe für die Verteilung der CComModule-Funktionalität
Die Funktionalität von wurde CComModule
aus den folgenden Gründen auf mehrere neue Klassen verteilt:
Machen Sie die Funktionalität präzise
CComModule
.Die Unterstützung für COM-, Windowing-, Schnittstellendebugging- und anwendungsspezifische Features (DLL oder EXE) ist jetzt in separaten Klassen enthalten.
Deklarieren Sie automatisch eine globale Instanz jedes dieser Module.
Eine globale Instanz der erforderlichen Modulklassen ist mit dem Projekt verknüpft.
Entfernen Sie die Notwendigkeit des Aufrufs der Methoden Init und Term.
Die Methoden Init und Term wurden in die Konstruktoren und Destruktoren für die Modulklassen verschoben. Init und Term müssen nicht mehr genannt werden.