ATL ウィザードで追加した ATL サポートの詳細
既存の MFC 実行可能ファイルまたは DLL に ATL サポートを追加すると、Visual C++ によって既存の MFC プロジェクトに以下の変更が加えられます。この例でのプロジェクト名は MFCEXE です。
サーバーの登録に使用する .idl ファイルと .rgs ファイルが追加されます。
メイン アプリケーションのヘッダー ファイルと実装ファイル (Mfcexe.h と Mfcexe.cpp) に新規クラス (CAtlMFCModule の派生クラス) が追加されます。 この新しいクラスのほかにも、登録に必要なコードが InitInstance 関数に追加されます。 ExitInstance 関数にも、クラス オブジェクトを無効にするためのコードが追加されます。 最後に、ヘッダー ファイルでは、2 つの新しいヘッダー ファイル (Initguid.h と Mfcexe_i.c) が実装ファイルにインクルードされ、CAtlMFCModule の派生クラスに対する新しい GUID が宣言および初期化されます。
サーバーを適切に登録するために、新しい .rgs ファイルのエントリがプロジェクトのリソース ファイルに追加されます。
DLL プロジェクトに関するメモ
MFC DLL プロジェクトに ATL サポートを追加する場合は、異なる点がいくつかあります。 DLL を登録または登録解除するために、DLLRegisterServer 関数と DLLUnregisterServer 関数にコードが追加されます。 また、DllCanUnloadNow と DllGetClassObject にもコードが追加されます。