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

Siehe auch

Konzepte
Klassenübersicht