次の方法で共有


ATL モジュール クラス

更新 : 2007 年 11 月

ここでは、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 を呼び出す必要はなくなりました。

参照

その他の技術情報

ATL の概念

ATL クラスの概要