void AFXAPI AfxTermExtensionModule ( AFX_EXTENSION_MODULEamp; 状態, BOOL ボール = FALSE );(&A)
パラメーター
状態
拡張機能 DLL モジュールの状態が含まれているAFX_EXTENSION_MODULE構造体への参照。
ボール特価;場合TRUE、すべてのクリーンアップ拡張 DLL モジュール。それ以外の場合、クリーンアップは、現在の DLL モジュールのみ(&N)。
解説
各プロセス、プロセスの終了時、または DLL が、 AfxFreeLibrary呼び出しが読み込まれたときに行われます)、DLL からデタッチするとき MFC は拡張 DLL にクリーンアップを許可するには、この関数を呼び出します。AfxTermExtensionModuleモジュールに接続されて、ローカル記憶域を削除し、メッセージ マップ キャッシュからエントリを削除します。たとえば:
静的な AFX_EXTENSION_MODULE extensionDLL;extern"C"int APIENTRY DllMain (HINSTANCE hInstance, DWORD dwReason、LPVOID){特価;場合 (dwReason DLL_PROCESS_ATTACH = =){//拡張機能 DLL の one-time initialization if (!AfxInitExtensionModule (extensionDLL、hInstance))0 を返します。//TODO: ここに他の初期化タスクを実行}他の場合 (dwReason DLL_PROCESS_DETACH = =){//拡張 DLL プロセス終了AfxTermExtensionModule(extensionDLL);//TODO: ここにその他のクリーンアップ タスクを実行}1 を返す;//ok}(&N)
アプリケーションが読み込まれ、拡張 Dll を動的に解放する場合、 AfxTermExtensionModuleを呼び出す必要があります。ほとんどの拡張 Dll が動的にロードされていないので (通常、彼らは、インポート ライブラリを介してがリンクされる)、 AfxTermExtensionModuleを呼び出す通常必要はありません。
MFC 拡張 Dll は、 DllMain内のAfxInitExtensionModuleを呼び出す必要があります。独自のカスタム リソース DLL かCRuntimeClassオブジェクトをエクスポートする場合は、またDllMain内にCDynLinkLibraryオブジェクトを作成する必要があります。
参照特価;AfxInitExtensionModule(&N)