ATL-Modulklassen
In diesem Thema werden die Modulklassen erläutert, die in ATL 7.0 neu waren.
CComModule-Ersetzungsklassen
Frühere Versionen von ATL verwendet CComModule
. In ATL 7.0 CComModule
wird die Funktionalität durch mehrere Klassen ersetzt:
CAtlBaseModule Enthält Informationen, die von den meisten Anwendungen benötigt werden, 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 von den Fensterklassen in ATL benötigt werden.
CAtlDebugInterfacesModule enthält Unterstützung für das Schnittstellendebugging.
CAtlModule Die folgenden
CAtlModule
abgeleiteten Klassen werden so angepasst, dass sie Informationen 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 bereit.
CAtlExeModuleT Wird in EXE-Anwendungen verwendet. Stellt Code bereit, der in einer EXE erforderlich ist.
CAtlServiceModuleT bietet Unterstützung zum Erstellen von Windows NT- und Windows 2000-Diensten.
CComModule
ist weiterhin aus Gründen der Abwärtskompatibilität verfügbar.
Gründe für die Verteilung der CComModule-Funktionalität
Die Funktionalität CComModule
wurde aus folgenden Gründen in mehrere neue Klassen verteilt:
Machen Sie die Funktionalität
CComModule
präzise.Die Unterstützung für COM-, Fenster-, Schnittstellendebugging- und anwendungsspezifische Features (DLL oder EXE) befindet sich jetzt in separaten Klassen.
Deklarieren Sie automatisch die globale Instanz jedes dieser Module.
Eine globale Instanz der erforderlichen Modulklassen ist mit dem Projekt verknüpft.
Entfernen Sie die Notwendigkeit, Init- und Term-Methoden aufzurufen.
Init- und Term-Methoden wurden in die Konstruktoren und Destruktoren für die Modulklassen verschoben; Es ist nicht mehr erforderlich, Init und Ausdruck aufzurufen.