拡張 DLL : 概要
更新 : 2007 年 11 月
MFC 拡張 DLL は、既存の MFC ライブラリ クラスから派生した再利用可能なクラスを主に実装する DLL です。拡張 DLL は、MFC のダイナミック リンク ライブラリ バージョン (MFC の共有バージョン) を使ってビルドされます。ただし、拡張 DLL を使用できるのは、MFC の共有バージョンを使ってビルドされた MFC の実行可能ファイル (アプリケーションまたはレギュラー DLL) だけです。拡張 DLL を使うと、MFC から新しいカスタム クラスを派生し、この拡張バージョンの MFC を DLL を呼び出すアプリケーションに提供できます。
また、拡張 DLL を使うと、アプリケーションと DLL の間で MFC の派生オブジェクトをやり取りすることもできます。やり取りされるオブジェクトに関連付けられたメンバ関数は、そのオブジェクトが作成されたモジュール内にあります。これらの関数は MFC の共有 DLL バージョンの使用時に正しくエクスポートされるので、MFC のポインタまたは MFC の派生オブジェクトのポインタをアプリケーションと拡張 DLL との間で自由にやり取りできます。
拡張 DLL の基本条件を満たす DLL の例については、MFC サンプルの DLLHUSK を参照してください。特に Testdll1.cpp ファイルと Testdll2.cpp ファイルを参照してください。
AFXDLL という用語は、Visual C++ のドキュメントでは今後使われません。拡張 DLL は、これまで AFXDLL と呼ばれていたものと同じ性質のものです。