Freigeben über


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 CAtlModuleabgeleiteten 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.

Siehe auch

Konzepte
Klassenübersicht