ATL モジュール クラス

このトピックでは、ATL 7.0 で導入された新しいモジュール クラスについて説明します。

CComModule 置換クラス

以前のバージョンの ATL では、CComModule が使用されていました。 ATL 7.0 では、CComModule 機能がいくつかのクラスに置き換えられています。

  • CAtlBaseModule ATL を使用するほとんどのアプリケーションが必要とする情報が含まれています。 モジュールとリソース インスタンスの HINSTANCE が含まれています。

  • CAtlComModule ATL の COM クラスが必要とする情報が含まれています。

  • CAtlWinModule ATL のウィンドウ化クラスが必要とする情報が含まれています。

  • CAtlDebugInterfacesModule インターフェイス デバッグのサポートが含まれています。

  • CAtlModule 次の CAtlModule 派生クラスは、特定の種類のアプリケーションで必要とされる情報が含まれるようにカスタマイズされています。 これらのクラスのほとんどのメンバーをオーバーライドすることが可能です。

    • CAtlDllModuleT DLL アプリケーションで使用されます。 標準エクスポートでコードを指定します。

    • CAtlExeModuleT EXE アプリケーションで使用されます。 EXE で必要なコードを指定します。

    • CAtlServiceModuleT Windows NT サービスと Windows 2000 サービスを作成するためのサポートを提供します。

CComModule は、下位互換性を目的に使用することができます。

CComModule 機能を配布する理由

CComModule の機能は、次の理由により、いくつかの新しいクラスに配布されました。

  • CComModule の機能を細分化します。

    COM、ウィンドウ化、インターフェイス デバッグ、アプリケーション固有 (DLL または EXE) の機能のサポートは、別のクラスに含まれるようになりました。

  • これらの各モジュールのグローバル インスタンスを自動的に宣言します。

    必須のモジュール クラスのグローバル インスタンスがプロジェクトにリンクされます。

  • Init メソッドと Term メソッドを呼び出さなくてもよいようにします。

    Init メソッドと Term メソッドは、モジュール クラスのコンストラクターとデストラクターに移動しました。Init と Term を呼び出す必要は、なくなりました。

関連項目

概念
クラスの概要